【发布时间】:2020-04-25 12:17:51
【问题描述】:
在我的 DRF 应用中,我有这个模型:
class Item(models.Model):
label = models.TextField()
category = models.CharField()
order = models.IntegerField()
class Meta:
ordering = ['order']
unique_together = ['order', 'category ']
我正在寻找一种更新实例的方法,可能会更改他的订单值,并保持排序顺序正确。
目前,由于 unique_together,序列化程序验证失败。但我不想在检查数据是否正确之前更新我的数据库......
关于如何做到这一点的任何想法? 非常感谢 斯旺
【问题讨论】:
-
您希望用户能够移动一个项目,然后增加/减少需要在 1 个查询中更改的所有其他行?
-
是的,但它可能在超过 1 个查询中。
-
首先你需要在你的序列化器stackoverflow.com/a/46022282/548562禁用验证
-
我刚刚这样做了,但现在我不知道如何编写保存关闭,到目前为止我尝试的任何更新都在 unicity 上惨遭失败。
-
您介意订单中有“空白”吗? (1,2,4,5)?
标签: python django django-rest-framework