Возьмем следующую модель:Джанго уникальные отношения не уникальный стол
class Foo(models.Model):
bar = models.ForeignKey(Bar)
name = models.CharField(max_length=30)
#...
так, что это делает подключить Foo
модели к модели Bar
и каждая Foo
модель имеет name
.
Как я могу сделать так, чтобы имя было уникальным только для подключенной модели Bar
??
примечание: unique=True
не будет работать, потому что имя не нужно быть уникальным для всей таблицы, это просто, что не может быть повторяющихся имен в конкретном Bar
например
пример:
позволяет сказать, что a
и b
являются экземплярами Bar
#the following is allowed
c = Foo(bar = a, name="foobar",...)
d = Foo(bar = b, name="foobar",...)
e = Foo(bar = b, name="barfoo",...)
#the following would not be allowed because
#an instance already exists in `a` with the name "foobar"
f = Foo(bar = a, name="foobar",...)
Добавь собственное подтверждение в этом поле? – yuvi