假设我有以下模型:
class Note(models.Model):
user = models.ForeignKey(User)
pub_date = models.DateTimeField()
title = models.CharField(max_length=200)
body = models.TextField()
def __unicode__(self):
return self.title
我需要一个可以这样工作的功能:
print inspectModelClass(Note)
>>> {user:('ForeignKey', {null:False, unique:False, blank:False...}), pub_date:('DateTimeField',{null:False, unique:False,...})...}
我不知道如何只列出django.model.field的实例,如何获取它们的名称,正确的类型(BooleanField,CharField等)及其属性,如null,unique,max_chars等。
你能帮帮我吗?
我需要这个的原因是有了这样一个函数,我就能动态地为django-haystack创建索引类。
答案 0 :(得分:3)
您可以使用类元数据轻松获取模型字段属性。
MyModel._meta.fields
返回字段列表。
此列表中的每个字段都包含众所周知的属性(name
,verbose_name
等。)