1
我自动生成字段,所以我想隐藏它从用户。我试过editable = False并将其从中排除。exclude =('field',)。所有这些东西都将这个字段从我这里隐藏起来,但是使它成为空的,所以我得到了错误:“date”列中的空值违反了非空约束。如何在Django Admin中隐藏模型字段?
models.py:
类消息(models.Model):
title = models.CharField(max_length = 100)
text = models.TextField()
date = models.DateTimeField(editable=False)
user = models.ForeignKey(User, null = True, blank = True)
main_category = models.ForeignKey(MainCategory)
sub_category = models.ForeignKey(SubCategory)
groups = models.ManyToManyField(Group)`
admin.py:
class MessageAdminForm(forms.ModelForm):
def __init__(self, *arg, **kwargs):
super(MessageAdminForm, self).__init__(*arg, **kwargs)
self.initial['date'] = datetime.now()
class MessageAdmin(admin.ModelAdmin):
form = MessageAdminForm
list_display = ('title','user',)
list_filter = ('date',)
如果您动态生成该字段,则向模型admin添加exclude =('field',)应该没问题。你只需要确定你确实在设定价值。 如果您更多地了解您的模型是什么样子以及您正在做什么,它会让我们更好地帮助您。 – Aaron
我试图添加排除,但失败并出现错误。 – Dracontis