Django: ограничение на несколько полей модели - PullRequest
3 голосов
/ 13 мая 2011

Пример:

class Author(models.Model):
    first_name = models.CharField()
    last_name = models.CharField()

    def _get_full_name(self):
       return '{0} {1}'.format(self.first_name, self.last_name)

   full_name = property(_get_full_name)

Какой рекомендуемый способ поместить уникальный констант в полное_имя?Думал о сохранении перезаписи, но, может быть, есть лучшие решения?

Ответы [ 2 ]

4 голосов
/ 13 мая 2011

Посмотрите на опцию Meta class unique_together

Вы могли бы сделать это так:

class Author(models.Model):
    first_name = models.CharField()
    last_name = models.CharField()

    def _get_full_name(self):
       return '{0} {1}'.format(self.first_name, self.last_name)

    full_name = property(_get_full_name)

    class Meta: 
       unique_together = ("first_name", "last_name")

Преимущество состоит в том, что это обеспечивается на уровне БД с помощью соответствующих УНИКАЛЬНЫХ операторов SQL.

2 голосов
/ 13 мая 2011

unique_together

unique_together = ("first_name", "last_name")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...