Yuv*_*dam 89 python django django-models django-admin
假设我有一个模型:
class SomeModel(models.Model):
id = models.AutoField(primary_key=True)
a = models.CharField(max_length=10)
b = models.CharField(max_length=7)
Run Code Online (Sandbox Code Playgroud)
目前我使用默认管理员来创建/编辑此类型的对象.如何b从管理员中删除该字段,以便无法使用值创建每个对象,而是将接收默认值0000000?
Fog*_*ird 141
设置editable为False和default默认值.
http://docs.djangoproject.com/en/dev/ref/models/fields/#editable
b = models.CharField(max_length=7, default='0000000', editable=False)
Run Code Online (Sandbox Code Playgroud)
此外,您的id领域是不必要的.Django会自动添加它.
And*_*are 21
您可以像这样设置默认值:
b = models.CharField(max_length=7,default="foobar")
Run Code Online (Sandbox Code Playgroud)
然后你可以用模型的Admin类隐藏字段,如下所示:
class SomeModelAdmin(admin.ModelAdmin):
exclude = ("b")
Run Code Online (Sandbox Code Playgroud)
MrO*_*les 19
您还可以在默认字段中使用callable,例如:
b = models.CharField(max_length=7, default=foo)
Run Code Online (Sandbox Code Playgroud)
然后定义可调用的:
def foo():
return 'bar'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138725 次 |
| 最近记录: |