我尝试在react中创建一个表,它使用django后端的表信息。
我想从API获取表的列,所以我尝试更新模型:
class Activity(models.Model):
aid = models.AutoField(primary_key=True)
uid = models.ForeignKey(USER_MODEL, default=1, verbose_name="Category", on_delete=models.SET_DEFAULT,
db_column="uid")
rid = models.IntegerField()
action = models.TextField(max_length=254, blank=True, null=True)
time = models.TextField(max_length=254, blank=True, null=True)
table = models.TextField(max_length=254, blank=True, null=True)
class Meta:
managed = False
db_table = "activity"
@property
def fields(self):
return [f.name for f in self._meta.fields]
我尝试使用fields()
作为方法来获取模型的所有“列”名称,以便将它们放在API的响应中,但是它不起作用。
如何从模型的 meta中获取django模型的字段名?
2条答案
按热度按时间ca1c2owp1#
如果你想要一个方法来获取模型类中的所有字段名,我建议把
fields
从property改为classmethodbvjxkvbb2#
您可以使用
get_fields()
获取所有字段,也可以使用模型_meta
API中的get_field('field_name')
函数获取特定字段。用法:
我相信这将返回一个Field对象的列表。要从示例中获取每个字段的值,请使用getattr(instance,www.example.com)。field.name).
参考:检索模型的所有字段示例