理解django模型领域中的关系

时间:2017-10-06 15:53:20

标签: python django django-models

我得到了某个模型MyModel._meta.get_fields()的所有字段,然后我处理它们并想要了解哪些是我自己添加的,哪些是由django添加的。 例如,如果我有类Moovie和类Comedy有moovie = models.ForeignKey(Moovie, on_delete=models.CASCADE),当我将获得字段Moovie._meta.get_fields()字段moovie也将在此列表中,如果其他模型链接到Moovie模型,moovie字段将是在列表中多次。我需要跳过它们。

2 个答案:

答案 0 :(得分:0)

请查看Django Model,您的要求将由此确定。

答案 1 :(得分:0)

好的,对不起,这是我的回答

Loader

我可以通过此功能过滤def field_name(field, ModelClass=None): if hasattr(field, 'field') and 'get_attname_column' in dir(field.field): return field.field.get_attname_column()[0] if 'get_attname_column' in dir(field): return field.get_attname_column()[0] field = field.field if hasattr(field, 'field') else ModelClass._meta.get_field(field.field_name) return field.get_attname_column()[0] def checkClassHasField(modelClass, field): name = field_name(field) try: modelClass._meta.get_field(name) return True except Exception: return False 列表。 但是可能存在更好的方式...