Как я могу инициализировать поля формы Image и Integer с данными модели? - PullRequest
0 голосов
/ 25 июня 2019

Мне удалось инициализировать CharField, но как я могу сделать то же самое с ImageField и IntegerField?Мои forms.py:

class GoodGet(forms.ModelForm):
    class Meta:
        model = Good_Get
        Size = forms.ModelChoiceField(queryset = Good.objects.all())
        fields = '__all__'

    def __init__(self, *args, good_id1=None, **kwargs):
        super(forms.ModelForm, self).__init__(*args, **kwargs)
        if good_id1 is not None:
            obj = Good.objects.filter(id = good_id1)
            self.fields['Name'].initial = Good.objects.get(id=good_id1)
            self.fields['Photo'].initial = Good.objects.get(id=good_id1)
            self.fields['Price'].initial = Good.objects.get(id=good_id1)
            for good in obj:
                good_sizes = good.Size.all()
            self.fields['Size'].queryset = good_sizes

Итак, мне нужно правильно написать эти строки:

            self.fields['Photo'].initial = Good.objects.get(id=good_id1)
            self.fields['Price'].initial = Good.objects.get(id=good_id1)

Как?Хорошая модель:

class Good(models.Model):
    Name = models.CharField(max_length = 150)
    Type = models.ForeignKey('Type', on_delete=models.CASCADE, null=True)
    Available = models.CharField(max_length = 50)
    Photo = models.ImageField(upload_to = 'clothes_photos')
    Price = models.IntegerField(default = '0')
    Discount = models.IntegerField(default = '0')
    Size = models.ManyToManyField('Size')

1 Ответ

0 голосов
/ 25 июня 2019

Вам лучше инициализировать это в представлении.

good = Good.objects.filter(id = good_id1)
form = GoodGet(instance=good)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...