我正在写一个混合,这将使我的模型可以很容易地转化为价值的深刻字典(如.values()种,但遍历关系)。 做这些定义中的干净的地方似乎是在模型本身,一拉:
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'
}
}
然而,Django的抱怨我这包括在class Meta
有:
TypeError: 'class Meta' got invalid attribute(s): schema
(整个堆栈跟踪这里 )
现在,我想我可以在精心我的mixin覆盖此,但有存储该信息的更优雅的方式?