小编rya*_*cks的帖子

允许在Python/Django中复制多对多条目的方法

我有以下Django模型:

class Icon(models.Model):
    name = models.CharField(max_length=200,null=False,blank=False)

class Post(models.Model):
    icons = models.ManyToManyField(Icon)
Run Code Online (Sandbox Code Playgroud)

当我写下面的代码时:

post = Post()
icons = []
icon_id = form.cleaned_data['icon_1']
if (icon_id):
    i = Icon.objects.get(id=icon_id)
    icons.append(i)

icon_id = form.cleaned_data['icon_2']
if (icon_id):
    i = Icon.objects.get(id=icon_id)
    icons.append(i)

post.icons = icons
post.save()
Run Code Online (Sandbox Code Playgroud)

它在大多数情况下工作正常,创建一个Post对象和两个Icon对象.

但是,如果icon_id在两种情况下都是1,那么它只在数据库中创建一个条目,而不是两个.

所以它似乎检查重复并删除它们.

我如何使这项工作,所以我允许重复?(我想要一个与帖子关联的两个SAME图标.)

谢谢!

python django many-to-many manytomanyfield

3
推荐指数
1
解决办法
4826
查看次数

标签 统计

django ×1

many-to-many ×1

manytomanyfield ×1

python ×1