簡體   English   中英

django.db.utils.IntegrityError:唯一約束失敗:auth_user.username

[英]django.db.utils.IntegrityError: UNIQUE constraint failed: auth_user.username

我有一個具有以下屬性的Organization類:

class Organisation(models.Model):
    user = models.OneToOneField(User, null=True)
    phoneNumber = models.CharField(max_length=12)
    description = models.CharField(max_length=1024)
    image = models.ImageField(upload_to='organisation_image')
    category = models.ForeignKey("Category")
    subscribedVolunteers = models.ManyToManyField(Volunteer)

    def __unicode__ (self):
        return self.name

我想用以下文件填充數據庫:

def populate():
    organisations = [
        {"first_name":"Concrete Garden","description":description,
         "email":"info@concretegarden.org.uk",
         "password":"cgarden",
         "username":"cgarden",
         "phoneNumber":"0141 237 9144",
         "category":categories_arr[0]}
        }

    organisations_arr = []
    for org in organisations:
        organisations_arr.append(add_organisation(org))

def add_organisation(org):
    print(org["username"])
    #ERROR HERE - when trying to create user object
    u = User.objects.create_user(username=org["username"], email=org["email"], first_name=org["first_name"],last_name=org["first_name"], password=org["password"])
    u.save()
    c = Organisation.objects.get_or_create(user=u,phoneNumber=org["phoneNumber"],description=org["description"],category=org["category"])[0]
    c.save()
    return c

if __name__ == '__main__':
    print("Starting population script...")
    populate()

任何意見或建議,不勝感激。 謝謝。

您已經在數據庫中輸入cgarden作為User的用戶名。 這就是錯誤消息的含義。

您可以使用Django Shell( python manage.py shell )查詢數據庫。 我建議使用數據庫瀏覽工具(也許在您的IDE中)使事情變得更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM