Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Competition(models.Model):
- title = models.CharField(max_length=256)
- class Gymnast(models.Model):
- parent = models.ForeignKey(Competition, related_name='gymnasts')
- name = models.CharField(max_length=256)
- class Result(models.Model):
- parent = models.ForeignKey(Gymnast, related_name='results')
- score1 = models.FloatField(blank=True, null=True)
- score2 = models.FloatField(blank=True, null=True)
- score3 = models.FloatField(blank=True, null=True)
- score4 = models.FloatField(blank=True, null=True)
- score5 = models.FloatField(blank=True, null=True)
- score6 = models.FloatField(blank=True, null=True)
- score7 = models.FloatField(blank=True, null=True)
- class YourModelForm(forms.ModelForm):
- extra_field = forms.CharField()
- def save(self, commit=True):
- extra_field = self.cleaned_data.get('extra_field', None)
- # ...do something with extra_field here...
- return super(YourModelForm, self).save(commit=commit)
- class Meta:
- model = YourModel
- class PersonForm(forms.ModelForm):
- continent = forms.ChoiceField(choices=CONTINENT_CHOICES)
- class Meta:
- model = Person
- fields = ('__all__')
- widgets = {
- 'birth_country': autocomplete.ModelSelect2(url='country-autocomplete',
- forward=['continent'])
- }
- class CountryAutocomplete(autocomplete.Select2QuerySetView):
- def get_queryset(self):
- if not self.request.user.is_authenticated():
- return Country.objects.none()
- qs = Country.objects.all()
- continent = self.forwarded.get('continent', None)
- if continent:
- qs = qs.filter(continent=continent)
- if self.q:
- qs = qs.filter(name__istartswith=self.q)
- return qs
Add Comment
Please, Sign In to add comment