假设我有一个类如下:
class MyClass(models.Model):
attributeA = models.CharField(max_length=100)
attributeB = models.IntegerField()
attributeC = models.CharField(max_length = 150, blank=True, nullable = True)
attributeD = models.ForeignKey('ModelB',related_name='FK_modelB')
attributeE = models.ManyToManyField('ModelC')
我想要做的是获取每个属性的属性,而不仅仅是我得到的名称:
my_instance._meta.get_all_field_name()
(它给了我一个属性名称列表) . 不,我想要的是,对于每个属性,知道他的类型是什么(CharField,IntegerField,ForeignKey,ManyToManyField ...),如果它是ForeignKey / ManyToManyField以及所有元数据(如max_length等),则它们是相关的 .
它的目的是将类序列化为XML,如果它是ManyToManyField,ForeignKey或简单值,则XML中的表示将是不同的 .
顺便说一句,如果有人知道XML的优秀类序列化器,它会帮助我很多!
谢谢你的回复!
1 回答
Django模型
_meta.fields
是您可以访问以获取字段属性的字段列表: