Я пытаюсь попробовать django, разрабатывая простую страницу, где люди могут спросить что-нибудь о продукте
Это моя модель, я могу создавать продукты в области администратора, отображать страницу продукта,и форма отображается с полями email и текстом.
class Product(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=100)
text = models.TextField()
class Question(models.Model):
email = models.CharField(max_length=100)
product = models.ForeignKey(Product, default=?, editable=False)
date = models.DateTimeField(auto_now=True, editable=False)
text = models.TextField()
class QuestionForm(ModelForm):
class Meta:
model = Question
Но я не знаю, как сказать модели, к какому идентификатору продукта должен быть сохранен вопрос.
Это мой views.py
# other stuff here
def detail(request, product_id):
p = get_object_or_404(Product, pk=product_id)
f = QuestionForm()
return render_to_response('products/detail.html', {'title' : p.title, 'productt': p, 'form' : f},
context_instance = RequestContext(request))
def question(request, product_id):
p = get_object_or_404(Product, pk=product_id)
f = QuestionForm(request.POST)
new_question = f.save()
return HttpResponseRedirect(reverse('products.views.detail', args=(p.id,)))
И URL
urlpatterns = patterns('products.views',
(r'^products/$', 'index'),
(r'^products/(?P<product_id>\d+)/$', 'detail'),
(r'^products/(?P<product_id>\d+)/question/$', 'question')
)
Правильно, теперь это работает, если я поставлю «1» в атрибуте по умолчанию для внешнего ключа продукта в вопросеМодель (где находится знак вопроса) сохраняет вопрос в идентификаторе продукта 1. Но я не знаю, что сделать, чтобы сохранить его в текущем продукте.