我試圖將'贊助'列添加到Django的用戶模型。事情是我想要這個列引用用戶名字段(它可以留空)。我的意思是,一個用戶可以將保薦許多其他(○無)用戶Django添加一個字段到用戶模型,它是指同一個表
事情是這樣的:
(Django的用戶模型表)
+--------+------------------+
|username| sponsor |
+--------+------------------+
| Tom | ... |
| John | Tom |
| Louis | Tom |
| Michael| Louis |
+--------+------------------+
我有以下型號
# models.py
class Sponsor(models.Model):
user = models.OneToOneField(User, primary_key=True)
sponsor = models.ForeignKey(User, null=True, to_field='username', related_name='spn')
我不知道我是否做得好。不過,我也做了以下內容,以便通過管理頁面添加一個贊助商:
# admin.py
class SponsorInline(admin.TabularInline):
model = Sponsor
fk_name = 'sponsor'
當我想在我的管理頁面中添加新的用戶,我收到三個滾動條添加一個贊助商,當然,這看起來不太合適。 Look like this
編輯
我加了屬性
extra = 1
到我SponsorInLine類和管理頁面現在只顯示一行。但它似乎並沒有工作,我需要的一對多關係
有沒有一種方法來製作一個表單輸入贊助商的用戶名。什麼是實現所有這一切的最佳途徑?
「我正在接收三個滾動條以添加贊助商」< - 可以編輯您的問題以澄清此問題嗎?添加截圖可能會有所幫助。 –
@GrishaLevit好的,我剛剛添加了! – rvliscano
您可以使用'extra'屬性指定空行數。試着在SponsorInline類中添加'extra = 1'。 – neverwalkaloner