擅长:python、mysql、java
<p>好的,对不起,这是我的答案</p>
<pre><code>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
</code></pre>
<p>我可以用这个函数过滤<code>MyModel._meta.get_fields()</code>列表。
然而也许更好的办法是存在</p>