SORU
5 AĞUSTOS 2010, PERŞEMBE


Dinamik bir seçim alanı oluşturmak

Bazı sorunlar django dinamik bir seçim alanı oluşturmak için nasıl anlamaya çalışarak geçiriyorum. Bir model gibi bir şey hazırladım:

class rider(models.Model):
     user = models.ForeignKey(User)
     waypoint = models.ManyToManyField(Waypoint)

class Waypoint(models.Model):
     lat = models.FloatField()
     lng = models.FloatField()

Yapmaya çalıştığım şey, kimin değerleri yol işaretleri bu binici ile ilişkili kişi giriş yapmış olurdu () seçim Alanı oluşturun.

Şu anda böyle benim form ınit ağır basan ediyorum:

class waypointForm(forms.Form):
     def __init__(self, *args, **kwargs):
          super(joinTripForm, self).__init__(*args, **kwargs)
          self.fields['waypoints'] = forms.ChoiceField(choices=[ (o.id, str(o)) for o in Waypoint.objects.all()])

Ama tüm yol işaretleri listesi, belirli bir binici ile ilişkili değiller. Herhangi bir fikir? Teşekkürler.

CEVAP
6 AĞUSTOS 2010, Cuma


form ınit kullanıcı geçerek yol işaretleri filtreleyebilirsiniz

class waypointForm(forms.Form):
    def __init__(self, user, *args, **kwargs):
        super(waypointForm, self).__init__(*args, **kwargs)
        self.fields['waypoints'] = forms.ChoiceField(choices=[ (o.id, str(o)) for o in Waypoint.objects.filter(user=user)])

formu başlatan ederken görünümü kullanıcı geçirir

form = waypointForm(user)

model form durumunda

class waypointForm(forms.ModelForm):
    def __init__(self, user, *args, **kwargs):
        super(waypointForm, self).__init__(*args, **kwargs)
        self.fields['waypoints'] = forms.ModelChoiceField(queryset=Waypoint.objects.filter(user=user))

    class Meta:
        model = Waypoint

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dougownsall

    dougownsall

    7 EKİM 2007
  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006