简体   繁体   English

如何通过字段名称获取相关对象?

[英]How get related objects by field name?

I have these models: 我有以下模型:

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)

How to get all categories by name of field? 如何按字段名称获取所有类别?

element._meta.get_field('category') return ManyToManyField. element._meta.get_field('category')返回ManyToManyField。 How to get all categories from this object 如何从该对象获取所有类别

UPD: I need an access by name: I iterated by field names and collect related objects. UPD:我需要按名称访问:我按字段名称进行迭代并收集相关对象。

Example: 例:

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)

thank you 谢谢

我猜这会做到:

element._meta.get_field('categories').value_from_object(element)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM