django中的ManyToManyField

问题描述

| 我有以下模型:
class Position(models.Model):
    label = models.CharField(max_length=100)

class UserProfile(models.Model):
    location = models.CharField(max_length=100,blank=True)
    positions = models.ManyToManyField(Position)
如何正确输入以下两个语句?
-- UserpProfile.objects.create(location = \'usa\',positions = \'artist\')
-- UserProfile.objects.create(location = \'usa\',positions = \'artist\',\'programmer\',and \'teacher\')
注意:我不想提供供用户选择的值。我只希望他们能够输入多个位置,然后将这些多个位置存储在表中。     

解决方法

我不敢确定列表分配是否可以在构造函数中使用,但是您可以通过以下方式分配它:
 profile = UserProfile(location=\'usa\')
 profile.positions = [\'artist\',\'programmer\',\'teacher\']