def getCustomProperties(self):
self.fields = {}
self.relations = {}
self.columns = []
self.meta = self.klass._meta
for name in self.meta.get_all_field_names():
x = self.meta.get_field_by_name(name)[0]
if isinstance(x, files.FileField):
self.readonly_attrs.update([name])
if isinstance(x, ForeignObjectRel):
continue
if isinstance(x, models.ManyToManyField):
self.relations[name] = x
elif not isinstance(x, models.ForeignKey):
self.fields[name] = x
else:
self.relations[name] = x
parent_fields = []
for field in self.meta.parents.values():
parent_fields.append(field.attname)
del self.relations[field.name]
self.exclude_attrs.update(parent_fields)
props = self.fields.keys()
self.encodable_properties.update(props)
self.decodable_properties.update(props)
self.exclude_attrs.update(['_state'])
_django_db_models_base.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录