Проблема в получении начального значения поля FK в форме Джанго? - PullRequest
0 голосов
/ 08 апреля 2019

Это мои модели:

class Aggrement(models.Model):
    title       = models.CharField(max_length=100, null=True, blank=True)
    act         = models.CharField(max_length=100, null=True, blank=True)
    section     = models.CharField(max_length=100, null=True, blank=True)
    category_ls = (
            ('General','General'),
            ('Specific','Specific'),
            )
    category    = models.CharField(max_length=32,choices=category_ls,default='General')
    textbody    = RichTextUploadingField(blank=True, null=True,config_name='special')
    guideline   = models.CharField(max_length=100, null=True, blank=True)

    def __str__(self):
        return self.act

class User_aggrement(models.Model):
    User        = models.ForeignKey(settings.AUTH_USER_MODEL,related_name="Users_aggrement",on_delete=models.CASCADE,null=True,blank=True)
    aggrement   = models.ForeignKey(Aggrement,related_name="Users_aggrement",on_delete=models.CASCADE,null=True,blank=True)
    textbody    = RichTextUploadingField(blank=True, null=True,config_name='special')

    def __str__(self):
        return str(self.id)

Я хочу получить значение поля textbody из Aggrement модели в textbody из User_aggrement модели.

т. е. когда User попытается создать модель instance из User_aggrement, поле textbody должно получить значение textbody в модели Aggrement в поле формы.

Возможно ли этов джанго?Есть идеи?

1 Ответ

1 голос
/ 08 апреля 2019

Вы можете сделать

class User_aggrement(models.Model):
    User        = models.ForeignKey(settings.AUTH_USER_MODEL,related_name="Users_aggrement",on_delete=models.CASCADE,null=True,blank=True)
    aggrement   = models.ForeignKey(Aggrement,related_name="Users_aggrement",on_delete=models.CASCADE,null=True,blank=True)
    textbody    = RichTextUploadingField(blank=True, null=True,config_name='special')

    def save(*args, **kwargs):
        self.textbody = self.aggrement.textbody
        super().save(*args, **kwargs)

    def __str__(self):
        return str(self.id)

Вам не нужно обрабатывать это в формах.

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