【问题标题】:Auto-populating created_by field with Django admin site使用 Django 管理站点自动填充 created_by 字段
【发布时间】:2010-10-25 17:51:09
【问题描述】:

我想将 Django 管理界面用于一个非常简单的 Web 应用程序,但我无法解决一个应该不难解决的问题..

考虑以下几点:

class Contact(models.Model):
    name = models.CharField(max_length=250, blank=False)
    created_by = models.ForeignKey(User, blank=False)

我找不到自动填充 created_by 字段并让 Django 管理员知道它的方法。我见过的大多数方法都意味着重载对象的保存方法并将其传递给请求用户。它们都需要构建您的自定义视图和/或表单。

在管理站点中创建新联系人的最佳表单不应该显示 created_by 字段(这很容易)并使用当前用户自动填充它(这似乎比它应该更难) .

【问题讨论】:

    标签: python django django-models django-admin


    【解决方案1】:

    我真的想要一个比我在其他地方找到的更好的解决方案,所以我写了一些中间件 - 在Populate user Id question 上实现。我的解决方案不需要更改任何表单或视图。

    【讨论】:

      【解决方案2】:

      您需要为该字段指定default,在本例中为获取当前用户的方法调用(请参阅授权文档以获取当前用户)。

      【讨论】:

        【解决方案3】:

        http://code.djangoproject.com/wiki/CookBookNewformsAdminAndUser

        涉及在您的 ModelAdmin 对象上实现保存方法。

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-27
        • 1970-01-01
        • 2019-11-24
        • 2016-12-22
        • 1970-01-01
        • 2016-11-22
        相关资源
        最近更新 更多