具有ManyToMany关系的Django用户模型,如何使用关系更新/创建新的个人资料?

时间:2019-02-28 20:56:20

标签: django django-models many-to-many manytomanyfield

我有一个与User类具有一对一关系的类。在此类(称为UserLocations)中,我有一个字段,该字段是另一个类的ManyToManyField(我们将其称为模型Locations)。

在“位置”类中,我有一个名为“缩写”的字段,它是位置名称的四个字符的缩写。我有一个前端网站,管理员可以在其中创建新用户或更新现有用户的位置(基于缩写字段)。

当我要创建新用户时,如何基于“缩写”字段设置/更新ManyToMany字段?这是与位置模型中的“缩写”字段相关的缩写列表。

1 个答案:

答案 0 :(得分:0)

# Assuming you get the chosen abbreviation in a variable called location_abbreviation:    
desired_location = Location.objects.get(abbreviation=location_abbreviation)
user = User.objects.create(...)
user_location = UserLocation.objects.create(user=user, ...)
user_location.locations = [desired_location]
user_location.save()

让我知道我是否误解了您的问题。