Dodawanie atrybutów do klasy Meta Django Model
Piszę mixin, który pozwoli moim modelom na łatwe przełożenie na głęboki dyktat wartości (coś w rodzaju .values (), ale relacje przejścia). Najczystszym miejscem na wykonanie tych definicji wydaje się być sam model: a la:
class Person(models.Model, DeepValues):
name = models.CharField(blank=True, max_length=100)
tribe = models.ForeignKey('Tribes')
class Meta:
schema = {
'name' : str,
'tribe' : {
'name' : str
}
}
Person.objects.all().deep_values() => {
'name' : 'Andrey Fedorov',
'tribe' : {
'name' : 'Mohicans'
}
}
Jednak Django narzeka na moje włączenie tegoclass Meta
z:
TypeError: 'class Meta' got invalid attribute(s): schema
(cały ślad stosututaj)
Teraz przypuszczam, że mógłbym to zmienić w swoim miksie, ale czy istnieje bardziej elegancki sposób przechowywania tych informacji?