Тоесть текстовые поля заполняем в форме на странице, а внешние ключи передаем во фьюшке и сохраняем…вылетает ошибка
ошибка __init__() got an unexpected keyword argument ‘user’… то же и с ‘good’
модель
class Reviews(models.Model): user=models.ForeignKey(User) good=models.ForeignKey(Good) description=models.TextField(blank=True, verbose_name=u'Общее впечатление') negative=models.CharField(max_length=100, blank=True, verbose_name=u'Недостатки') positive=models.CharField(max_length=100, blank=True, verbose_name=u'Достоинства') quantity_star=models.IntegerField(null=True, blank=True) review_score=models.IntegerField(null=True, blank=True) date_last_change=models.DateField(auto_now=True) date_create=models.DateField(auto_now_add=True)
форма
class ReviewsForm(forms.ModelForm): def save(self, *args, **kwargs): good = kwargs.pop('good', None) user = kwargs.pop('user', None) inst = super(Reviews, self).save(*args, **kwargs) inst.good = good inst.user = user inst.save() return inst class Meta: model=Reviews fields=('positive', 'negative', 'description',) widgets={ 'positive':forms.TextInput(attrs={'id':'positive'}), 'negative': forms.TextInput(attrs={'id': 'negative'}), 'description': forms.TextInput(attrs={'id': 'description'}), }
фрагмент оработки фьюшки и передача аргументов
args['username']=auth.get_user(request) args['good']=Good.objects.get(id=id_good) form=ReviewsForm(request.POST, user=args['username'], good=args['good']) form.save()