python - theme - Valor predeterminado para el campo en el modelo de Django
django-admin command (3)
Establezca editable
en False
y de manera default
en su valor predeterminado.
http://docs.djangoproject.com/en/dev/ref/models/fields/#editable
b = models.CharField(max_length=7, default=''0000000'', editable=False)
Además, su campo de id
es innecesario. Django lo agregará automáticamente.
Supongamos que tengo un modelo:
class SomeModel(models.Model):
id = models.AutoField(primary_key=True)
a = models.CharField(max_length=10)
b = models.CharField(max_length=7)
Actualmente estoy usando el administrador predeterminado para crear / editar objetos de este tipo. ¿Cómo elimino el campo b
del administrador para que cada objeto no se pueda crear con un valor y reciba un valor predeterminado de 0000000
?
Puede establecer el valor predeterminado de esta manera:
b = models.CharField(max_length=7,default="foobar")
y luego puedes ocultar el campo con la clase de administración de tu modelo así:
class SomeModelAdmin(admin.ModelAdmin):
exclude = ("b")
También puede usar un invocable en el campo predeterminado, como por ejemplo:
b = models.CharField(max_length=7, default=foo)
Y luego define el invocable:
def foo():
return ''bar''