Trunk ist mit brunch Queryset-refactor ergänzt, der die Django-Modelle ganz einfach zu vererben lässt. Es ist längst bekannt. Die Vererbung ist aber keine einzelne Möglichkeit, es gäbe noch Monkey patching.
Die Idee ist, dass Monkey patching erlaubt genauso nicht nur die Felder, sondern auch die Funktionen hinzufügen.
Zum Beispiel, so wird das Modell User mit dem Feld OpenID ergänzt, dazu kommt noch die Funktion, die Nickname zurück gibt, falls es keinen Namen gab
from django.contrib.auth.models import User

User.add_to_class('openid', models.CharField(max_length=250,blank=True))

def get_user_name(self):
    if self.first_name or self.last_name:
        return self.first_name + " " + self.last_name
    return self.username

User.add_to_class("get_user_name",get_user_name)
Die deutlichen Vorteile der Methode:
keine weiteren Tabellen werden geschafft
man arbeitet mit dem Modell mit allen Django-Standardmittel

16 Votes | Average: 4 out of 516 Votes | Average: 4 out of 516 Votes | Average: 4 out of 516 Votes | Average: 4 out of 516 Votes | Average: 4 out of 5 (16 votes, average: 4 out of 5)
Loading ... Loading ...

Top Posts: