我已经得到了一个基本的外键表结构
class Category(models.Model):
id_pk = models.AutoField(primary_key=True)
label = models.CharField(unique=True, max_length=200, blank=True, null=True)
class Meta:
managed = False
db_table = 'category'和
class PartProperty(models.Model):
id_pk = models.AutoField(primary_key=True)
category = models.ForeignKey(Category, models.DO_NOTHING, blank=True, null=True)
class Meta:
managed = False
db_table = 'part_property'如果PartProperty中的一行有一个Category对象,我可以分别通过part_property = PartProperty.objects.select_related().filter(id_pk=part_property_id)和part_property[0].catogory访问这个对象,通过part_property .values(*(self.__COLUMN_NAMES))[0]['self.__COLUMN_NAMES[i]]动态地访问这个对象,设置一个新值并保存外键指向的表。
但是如果part_property[0].catogory为None,我就没有用于创建外键表对象的对象类型。
可以从PartProperty / PartProperty模型中动态获取对象类型吗?
发布于 2021-07-22 21:40:46
您可以通过_meta属性动态获取字段的模型类。例如,PartProperty._meta.get_field("category").related_model将返回Category模型类。
您还可以动态获取模型的字段列表。有关_meta接口的官方文档,请参阅以下链接:https://docs.djangoproject.com/en/3.2/ref/models/meta/
https://stackoverflow.com/questions/68484557
复制相似问题