django eindeutige Einschränkung salebook_saleman.user_id fehlgeschlagendjango eindeutige Einschränkung fehlgeschlagen User_id
model.py:
class Saleman(models.Model):
name = models.CharField(max_length=200)
password = models.CharField(max_length=200)
def __str__(self):
return self.name
class Book(models.Model):
owner = models.ForeignKey(Saleman)
book_name = models.CharField(max_length=200)
book_text = models.TextField(max_length=2000,blank=True)
price = models.IntegerField(default=0)
telephone = models.CharField(max_length=200)
#image = models.ImageField(upload_to='photos')
pub_date = models.DateTimeField('date published',default = timezone.now)
def __str__(self):
return self.book_name
view.py:
def user_register(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
email = request.POST['email']
new_user = User.objects.create_user(username,email,password)
new_saleman = Saleman.objects.create(name=username,password=password)
if newsaleman is not None:
new_saleman.save()
if new_user is not None:
new_user.save()
context = {'Username':username}
return render(request,"salebook/index.html",context)
else:
context = {'error_message':'Register Fail'}
return render(request,"salebook/register.html",context)
def user_login(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
context = {'Username':username}
return render(request,"salebook/index.html",context)
else:
context = {'error_message':'User is locked'}
return render(request,"salebook/login.html",context)
else:
context = {'error_message':'Null User or Wrong Password'}
return render(request,"salebook/login.html",context)
else:
return render_to_response('salebook/login.html')
Nicht wirklich sicher, was es bedeutet, oder was verursacht es. Lassen Sie mich wissen, ob es eine einfache Lösung gibt. Vielen Dank! Update: Der Fehler ist:
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 367, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 345, in execute
output = self.handle(*args, **options)
File "C:\Python27\lib\site-packages\django\core\management\commands\migrate.py", line 204, in handle
fake_initial=fake_initial,
File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 115, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 145, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 244, in apply_migration
state = migration.apply(state, schema_editor)
File "C:\Python27\lib\site-packages\django\db\migrations\migration.py", line 129, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "C:\Python27\lib\site-packages\django\db\migrations\operations\fields.py", line 84, in database_forwards
field,
File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\schema.py", line 231, in add_field
self._remake_table(model, create_fields=[field])
File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\schema.py", line 199, in _remake_table
self.quote_name(model._meta.db_table),
File "C:\Python27\lib\site-packages\django\db\backends\base\schema.py", line 112, in execute
cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python27\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py", line 337, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: UNIQUE constraint failed:salebook_saleman.user_id
auf den ersten ich versuche, mein Modell saleman zu erweitern, indem abstractUser verwenden, und dieser Fehler happen.When ich meinen Code wiederholen, ist es noch alive.Sorry, ich weiß nicht, Was ist mit meinem Code passiert?
Bitte senden Sie den Fehler, den Sie bekamen und versuchen zu erklären, was Sie versuchen zu tun, wenn immer den Fehler. – lucasnadalutti
Die einfache Lösung besteht darin, Ihren 'User.objects.create_user (Benutzername, E-Mail, Passwort)' mit Versuch außer zu umgeben, aber glauben Sie mir, dass Sie die leichte Reparatur hier nicht wollen. Sie haben eine Menge anderer Dinge zu bewältigen. – e4c5
Entschuldigung, ich aktualisiere meinen Fehler – cz328317643