Tengo algo de código que se parece a esto:Cómo anular el valor predeterminado de un campo de modelo de una base abstracta Clase
class BaseMessage(models.Model):
is_public = models.BooleanField(default=False)
# some more fields...
class Meta:
abstract = True
class Message(BaseMessage):
# some fields...
y me gustaría cambiar el valor por defecto del campo is_public
en el modelo de Mensaje para que sea True
para ese modelo.
He revisado algunos documentos relevantes de Django y hurgué en los objetos del modelo pero tengo problemas para encontrar el lugar correcto para hacerlo. ¿Alguna sugerencia?
Esto funcionó para mí. En mi caso, estaba anulando el texto de ayuda. Sin embargo, tenía más sentido mover ese código al inicializador, así que tengo: def __init __ (self, * args, ** kwargs): super (MyModelClass, self) .__ init __ (* args, ** kwargs) self._meta.get_field ('mymodelfield'). help_text = self.help_text() – Mark
Intento esto para el atributo "único", pero obtengo esto: 'AttributeError: no se puede establecer el atributo'. – guettli
@guettli Lo mismo aquí. No parece funcionar para configurar 'unique'. Esto está en Django 1.7. –