1

我知道我们可以使用 unique=True 选项要求 SlugField 是唯一的,但是是否可以要求它仅对特定用户是唯一的,所以两个不同的用户可以有相同的 SlugField 但一个用户不能有两个相同的 slugField?

楷模。py:

from django.db import models
from django.contrib.auth.models import User

class ezApp(models.Model):
    name = models.SlugField(max_length=50, unique=True )
    date_created = models.DateTimeField('date created')
    date_updated = models.DateTimeField('date updated')
    created_by = models.ForeignKey(User)
    in_use = models.BooleanField()
4

1 回答 1

5

您将需要使用 unique_together,如下所述:
https ://docs.djangoproject.com/en/dev/ref/models/options/#unique-together

class MyModel(models.Model):
    # ...

    class Meta:
        unique_together = ('name', 'created_by')

您还必须在表单级别进行一些保姆,因此用户在尝试添加重复名称时会收到可用的错误消息。

于 2013-02-06T21:37:14.783 回答