私はフィールドを自動的に生成するので、私はそれをユーザーから隠したいと思っています。試しました編集可能= Falseとそれをexclude =( 'field'、)から非表示にします。これらすべてのものは私からこのフィールドを隠しますが、空にしてエラーが発生しました。カラム "date"のnull値がnullでない制約に違反しています。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',)
フィールドを動的に生成する場合は、モデル管理者にexclude =( 'field'、)を追加すると問題はありません。実際に値を設定していることを確認するだけです。 あなたのモデルがどのようなものか、あなたがしていることについてもう少し詳しく投稿すると、少し助けてくれます。 – Aaron
除外を追加しようとしましたが、エラーで失敗しました。 – Dracontis