Python 如何通过字段名获取相关对象?
我有这些模型:Python 如何通过字段名获取相关对象?,python,django,django-models,many-to-many,django-orm,Python,Django,Django Models,Many To Many,Django Orm,我有这些模型: class Category(models.Model): name = models.CharField(blank=True) class Element(models.Model): name = models.CharField(blank=True) categories = models.ManyToManyField(Category, related_name='places', blank=False, null=Tru
class Category(models.Model):
name = models.CharField(blank=True)
class Element(models.Model):
name = models.CharField(blank=True)
categories = models.ManyToManyField(Category, related_name='places', blank=False, null=True)
如何按字段名称获取所有类别
element.\u meta.get\u字段('category')
返回ManyToManyField。如何从此对象获取所有类别
UPD:我需要按名称访问:我按字段名迭代并收集相关对象
例如:
names = []
for field_name in ['categories', 'some_another_m2m_field_name']:
for related_object in objects._meta.get_field(field_name).all():
names.append(related_object.name)
谢谢我想这样就可以了:
element._meta.get_field('categories').value_from_object(element)
element.categories.all()
?否。我需要按名称进行访问:我按字段名进行迭代并收集相关对象。