簡體   English   中英

如何在Django中創建管理員用戶並將其鏈接到模型?

[英]how do i create an admin user in django and link it to a model?

我正在像這樣建模一個人:

class Person(models.Model):
    """ Represent a person who has credentials. The person may have
    devices and/or accessories. """ 

    #basic information
    name = models.CharField(max_length=50, unique=True)
    email = models.CharField(max_length=50, unique=True)
    phone_number = PhoneNumberField(unique=True)

但我希望能夠添加如下內容:

/* create admin user with a group priveledge*/
user_account = #link to user account here

之所以這樣做,是因為當我添加人員對象時,我希望他們擁有一個具有某些特權的帳戶。

感謝任何能提供幫助的人..

全局取決於您使用的Django版本,因為Django 1.5改變了用戶模型和繼承。

您可能需要看一下Django官方文檔: https : //docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-the-existing-user-model

干杯,K。

編輯19:30 CEST:您應該注意Django文檔網站右上角的切換,以確保您在查看正確的文檔(即與您正在使用的Django版本有關的文檔) 。 從1.5開始,Django添加了一個很棒的功能:不僅與用戶模型“相關”,還擴展了它。 https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model

而且,因為我猜您想通過自動管理員添加用戶,所以您也應該注意這一段: https : //docs.djangoproject.com/en/dev/topics/auth/customizing/#custom-users-和django-contrib-admin

唯一的問題是您必須運行Django 1.5+。 Django 1.4及更低版本僅允許您添加相關模型,但還算不錯:)。

我們可以說您想要的只是具有更多信息的用戶嗎?

還是有一種情況你會說

  • “一個人可能不是用戶”和/或
  • “用戶可能不是一個人”

您在此描述的內容可以通過簡單的外鍵系統來實現。 制作一個新模特,像這樣:

class Person(models.Model):
  ... some infos here ...
  user = model.ForeignKey(User)

然后,您只需要創建用戶,然后創建人。 您可以通過多種方式告訴Django在創建User對象時自動創建Person對象。 此博客文章可以帶您正確的方法: http : //www.turnkeylinux.org/blog/django-profile

也許您應該遵循它,然后向我們確切說明您錯過了什么?

再次歡呼。

K.

暫無
暫無

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

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