如何将用户列表添加到django管理面板

时间:2016-03-04 01:48:39

标签: python django django-admin

我有一个start_dateend_date的模型。我想在底部添加一个用户列表,以便管理员可以从与此模型关联的用户列表中进行选择。

这是模型目前在管理面板中的显示方式

As stated above

我的模型在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]'的值是指'user',它不是   'MyPeriod'的属性。

1 个答案:

答案 0 :(得分:0)

您当前的型号不包含期间与用户之间的关联。您必须使用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模型。