簡體   English   中英

如何將用戶列表添加到Django管理面板

[英]How to add list of users to django admin panel

我有一個具有start_dateend_date的模型。 我想在底部添加一個用戶列表,以便管理員可以從與此模型關聯的用戶列表中進行選擇。

這是該模型目前在管理面板中的外觀

在此輸入圖像描述

我的模型在models.py看起來像這樣

class MyPeriod(ValidateOnSaveMixin, models.Model):
    start_date = models.DateField(unique=True)
    end_date = models.DateField()

admin.py我嘗試像這樣添加filter_horizontal但它給了我錯誤

class MyPeriodAdmin(admin.ModelAdmin):
    list_display = ('start_date', 'end_date',)
    filter_horizontal = ('user',)

“ filter_horizo​​ntal [0]”的值表示“用戶”,它不是“ MyPeriod”的屬性。

您當前的模型不包含期間和用戶之間的關聯。 您必須指定與User模型的ForeignKey關系,例如:

from django.conf import settings
...
class MyPeriod(ValidateOnSaveMixin, models.Model):
    start_date = models.DateField(unique=True)
    end_date = models.DateField()
    user = models.ForeignKey(settings.AUTH_USER_MODEL)

添加之后(並應用遷移以反映對實際數據庫的更改),您將能夠將User分配給MyPeriod模型。

暫無
暫無

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

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