Как проверить, существует ли свойство в модели с внешним ключом?
У меня есть модель с именем Product
class Product(models.Model):
order = models.ForeignKey(Order, on_delete = models.CASCADE)
quantity = models.ForeignKey(Quantity, on_delete = models.CASCADE)
В обоих ForeignKey-s у меня есть одно и то же свойство с именем 'number'. Я хочу проверить, существует ли это свойство в модели Product или в ее ForeignKey-s моделях.
Я пытаюсь сделать следующее:
hasattr(Product, 'number')
Попробуйте это:
def model_field_exists(model, field):
return True if hasattr(model, field) or hasattr(model.order.field.related_model, field) or hasattr(model.quantity.field.related_model, field) else False
if model_field_exists(Product, "number"):
print("Field exist")
else:
print("Field does not exist")