我知道我们可以要求SlugField在unique = True选项中是唯一的,但是可以要求它仅对特定用户是唯一的,因此两个不同的用户可以拥有相同的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()
答案 0 :(得分: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')
您还必须在表单级别进行一些保姆,以便用户在尝试添加重复名称时获得可用的错误消息。