django如何设置model的字段不显示在新增功能中
时间: 2023-05-08 21:56:04 浏览: 166
在 Django 中设置 model 的字段不出现在新增功能中,有以下两种方法:
1. 使用 exclude 属性
在 Django 中可以通过在 form 中使用 exclude 属性来排除不需要显示的 fields,只需要在初始化 form 时传入 exclude 属性即可。
例如,如果需要排除 "created_at" 和 "updated_at" 字段,则如下所示:
```python
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class ArticleForm(forms.ModelForm):
class Meta:
model = Article
exclude = ('created_at', 'updated_at')
```
这样,创建 Article 实例时就不会显示 "created_at" 和 "updated_at" 字段。
2. 使用 editable 属性
还可以使用 editable 属性来将字段设置为不可编辑,从而使其不出现在新增功能中。
例如:
```python
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True, editable=False)
updated_at = models.DateTimeField(auto_now=True, editable=False)
```
这样,"created_at" 和 "updated_at" 字段将不会出现在创建 Article 实例的表单中,并且也不会在修改实例时出现。
需要注意的是,使用这种方式将字段设置为不可编辑后,将无法在后台管理中修改这些字段的值。