Django模型中字段的默认值

假设我有一个模型:

class SomeModel(models.Model): id = models.AutoField(primary_key=True) a = models.CharField(max_length=10) b = models.CharField(max_length=7) 

目前我正在使用默认的pipe理员来创build/编辑这种types的对象。 如何从pipe理员删除字段b ,以便每个对象不能创build一个值,而是会收到一个默认值0000000

editable设置为False并将其default为默认值。

http://docs.djangoproject.com/en/dev/ref/models/fields/#editable

 b = models.CharField(max_length=7, default='0000000', editable=False) 

另外,你的id字段是不必要的。 Django会自动添加它。

你可以像这样设置默认值:

 b = models.CharField(max_length=7,default="foobar") 

然后你可以用你的模型的Admin类来隐藏这个域:

 class SomeModelAdmin(admin.ModelAdmin): exclude = ("b") 

您还可以在默认字段中使用可调用字符,例如:

 b = models.CharField(max_length=7, default=foo) 

然后定义可调用的:

 def foo(): return 'bar'