@matveyvarg

Как автоматически заполнить пустое поле модели со связью?

Имеется такая модель:
class Vote(models.Model):


	record = models.OneToOneField(Record)

	voted_by = models.ForeignKey(UserProfile)

Как автоматически заполнить поле record ? Нужно чтобы поле record заполнялось автоматически, уже созданными объектами класса Record.
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 2
default=1
Или писать сигнал
Ответ написан
Комментировать
baterson
@baterson
python/django
Если нужно добавить связь, при создании модели Vote, тогда можно перегрузить метод save()
class Vote(models.Model):
    
    def save(self, *args, **kwargs):
        #Проверяем, что объекта еще нет в базе
        if self.pk is None:
            record = Record.objects.create(#заполняете нужные поля)
            self.record = record
        super(Vote, self).save(*args, **kwargs)

Из вопроса не до конца ясно, что конкретно нужно, если нужен уже созданный объект Record, можно просто взять его из базы, а не создавать новый.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы