Python 不允许用户为对象中的字段输入相同的值

Python 不允许用户为对象中的字段输入相同的值,python,django,forms,django-views,Python,Django,Forms,Django Views,我有这个密码 **models.py** Class Collection(models.Model): user = ForeignKey(User) title = Charfield(max_length=250) order = IntegerField() 我想允许用户添加集合对象。但他们必须为每个对象的顺序输入不同的数字。例如:1,2,3,4,5,6,7 限制在1-10之间 我知道我可以为一个字段设置一个唯一的值。但是,我希望允许所有用户在订单字段中输入1-

我有这个密码

**models.py**

Class Collection(models.Model):
    user = ForeignKey(User)
    title = Charfield(max_length=250)
    order = IntegerField()
我想允许用户添加集合对象。但他们必须为每个对象的顺序输入不同的数字。例如:1,2,3,4,5,6,7 限制在1-10之间

我知道我可以为一个字段设置一个唯一的值。但是,我希望允许所有用户在订单字段中输入1-10


知道如何处理吗?

您可以尝试为订单字段添加Django内置范围验证器1-10,然后在两个字段User Order上添加唯一约束

from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator

Class Collection(models.Model):
    user = ForeignKey(User)
    title = Charfield(max_length=250)
    order = IntegerField(validators=[MinValueValidator(1), MaxValueValidator(10])

    class Meta:
        unique_together = ('user', 'order',)

哇,完全忘记了独特的东西。谢谢你。@ Jangguy如果答案是有用的,你可以考虑接受它。它帮助了很多东西,我非常感谢。