Python django getattr适用于ManyToManyField
如何使用getattr获取ManyToManyField值 在模型的保存方法中:Python django getattr适用于ManyToManyField,python,django,models,Python,Django,Models,如何使用getattr获取ManyToManyField值 在模型的保存方法中: getattr(Project.objects.filter(name=self.name)[0], 'type') getattr(self, 'type') getattr(Project.objects.filter(name=self.name)[0], 'user') getattr(self, 'user') 我明白了: 10kmop 10kmop auth.User.None auth.User.N
getattr(Project.objects.filter(name=self.name)[0], 'type')
getattr(self, 'type')
getattr(Project.objects.filter(name=self.name)[0], 'user')
getattr(self, 'user')
我明白了:
10kmop
10kmop
auth.User.None
auth.User.None
用户是一个ManyToManyField,我这里没有
我如何获得这些用户价值?像这样:
Project.objects.filter(name=self.name).first().user
我也有类似的问题。“无”响应绝对不意味着没有关联的用户
getattr(self, 'user')
只需给您一个指向关联用户的链接,但此链接的表示形式为“无”。
您只需获取所有对象:
getattr(self,'user').all()
我应该做这项工作
我在这里分享我的工作示例。我在自定义标记中使用getattr:
@register.filter
def keyvalue(cur_model, key):
if key == "item_components" :
return getattr(cur_model, key).all()
return getattr(cur_model, key)
item\u components在我的模型中有很多字段。这只是意味着您没有与项目关联的用户。