Change model field attribute in a DRY way

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
class FooBaseModel(models.Model):
    bar = models.CharField(help_text=_("before"))
    class Meta:
        abstract = True

class FooBar(FooBaseModel):
    def __init__(self, *args, **kwargs):
        super(FooBar, self).__init__(*args, **kwargs)

        # Change field data in a DRY way
        bar_field = self._meta.get_field_by_name("bar")[0]
        bar_field.help_text = _("New help text!")

More like this

  1. Add model form field meta data in a DRY way by jedie 4 years, 3 months ago
  2. Custom optional abstract base attributes by tie 5 years ago
  3. DRY with common model fields (another way) by jmrbcu 5 years, 11 months ago
  4. change a widget attribute in ModelForm without define the field by jedie 4 years, 11 months ago
  5. True links in the admin list by svetlyak 5 years, 9 months ago

Comments

madEng84 (on October 4, 2012):

Thank you It's very useful for reusable classes...

#

(Forgotten your password?)