Тоесть текстовые поля заполняем в форме на странице, а внешние ключи передаем во фьюшке и сохраняем…вылетает ошибка
ошибка __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()