【问题标题】:How to work with dynamic data in Admin Panel?如何在管理面板中处理动态数据?
【发布时间】:2011-07-19 15:00:08
【问题描述】:
class Message(models.Model):

    date = models.DateField()
    user = models.ForeignKey(UserEx)
    groups = models.ManyToManyField(Group)
    main_category = models.ForeignKey(MainCategories)
    sub_category = models.ForeignKey(SubCategories)

我想要动态填充某些字段。所以,我有一些关于它的问题。

  1. 如何访问这些字段?显然,默认字段 模型不适用于动态数据(我尝试创建默认字段 - 没有错误,没有结果)。
  2. 如何过滤组?我的用户与组具有相同的字段,因此我希望允许他仅编辑和显示该组的消息。

好吧,最后一个问题 - 创建我自己的管理面板会更容易吗?但是想想在管理面板中实现排序和显示,这真的很舒服。

【问题讨论】:

    标签: django django-models django-admin


    【解决方案1】:

    您可以通过覆盖 ModelForm 来做到这一点:

    class MessageAdminForm(forms.ModelForm):
        def __init__(self, *arg, **kwargs):
            super(MessageAdminForm, self).__init__(*args, **kwargs)
    
            # set initial values this way
            self.initial['user'] = User.objects.get(username='bob')
    
            # set choices this way
            self.fields['groups'].choices = [(g.id, g) for g in Groups.objects.all()]
    
    class MessageAdmin(admin.ModelAdmin):
        form = MessageAdminForm
        # other stuff here
    

    【讨论】:

      猜你喜欢
      • 2022-07-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      相关资源
      最近更新 更多