django - 管理中缺少字段

标签 django django-admin

我正在尝试在管理员中获取pub_dateupdate 选项。但没有这样的事情。在管理中,只有用户名密码客户端IP字段。我缺少什么?我们将非常感谢您的帮助。谢谢。

型号:

class Member(models.Model):
    username = models.CharField(max_length=150)
    password = models.CharField(max_length=150)
    pub_date = models.DateTimeField(auto_now_add=True, auto_now=False)
    update = models.DateTimeField(auto_now_add=False, auto_now=True)

    def __unicode__(self):
        return self.username


class IP(models.Model):
    client_ip = models.CharField(max_length=50)
    pub_date = models.DateTimeField(auto_now_add=True, auto_now=False)
    update = models.DateTimeField(auto_now_add=False, auto_now=True)

更新:

from django.contrib import admin
from models import Member, IP
# Register your models here.

admin.site.register(Member)
admin.site.register(IP)

最佳答案

这是只读字段,因此在 Django Admin 中默认被忽略。要显示它,您必须定义自定义 ModelAdmin 类并在 fields 属性中指定它。

from django.contrib import admin
from models import Member, IP

class MemberAdmin(admin.ModelAdmin):
    fields = ('username', 'password', 'pub_date', 'update')

class IPAdmin(admin.ModelAdmin):
    fields = ('client_ip', 'pub_date', 'update')

admin.site.register(Member, MemberAdmin)
admin.site.register(IP, IPAdmin)

您可以使用 fieldsets 而不是 fields 在更多部分中显示字段 ( click )。

据我所知,没有任何选项可以让您不必指定要显示的所有字段。

PS:您可以省略 auto_now_add = Falseauto_now = False,因为它们默认设置为 False

关于django - 管理中缺少字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29604063/

相关文章:

python - 将实例/默认值传递给 ModelFormSet,以便在 View 中使用空表单

python - 按高度/方向对图像进行排序

django - 来自python的svn调用在ubuntu box上不起作用

python - 如何有条件地否决 Django Admin 1.5 中的删除尝试?

python - @login_required 之后的 Django 重定向到下一个

django - 在 Django Admin 上使用自定义 save() 方法保存模型后返回错误消息

python - 管理与托管 Elasticsearch 提供程序的连接池

python - DjangoForeignKey用户认证

python - 使用Django登录后获取用户信息

Django 管理内联表单,具有只读旧值并允许添加新的内联值