Try something like that:
poll = get_object_or_404(Poll, pk=poll_id)
try:
selected_choice = poll.choice_set.get(pk=request.POST['choice'])
correct = selected_choice.correct
if correct:
do something
except (KeyError, Choice.DoesNotExist):
return render_to_response('youtemplate', {
'poll': poll,
'error_message': "Please select a choice",
})
--
BILLION Sébastien
Un geek averti en vaut 10
http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>
Sorry,
in models.py:
class Poll(models.Model):
question = models.CharField(max_length=200)
def __unicode__(self):
return self.question
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
correct = models.BooleanField()
def __unicode__(self):
return self.choice
in admin.py
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 4
class PollAdmin(admin.ModelAdmin):
inlines = [ChoiceInline]
admin.site.register(Poll, PollAdmin)
Sorry one more time!
add this to your admin.py
class PollAdmin(admin.ModelAdmin):
inline =[ChoiceInline]
#check bafore save
def save_model(self, request, obj, form, change):
for choice in obj.choice_set.all():
if choice.correct == True:
print "ok"
obj.save()