01-04-2010 20:46, Halil İbrahim YILMAZ yazmış: > Merhaba ModelForm ile oluşturduğum alanlarda filtreleme yapmak istiyorum > ancak bir türlü beceremedim. Acaba bunun için bulabileceğim bir örnek > mevcut mudur? > Aşağıdaki şekilde bir view'a sahibim: > > def ziyaret_ekle(request): > if request.POST: > zform = ZiyaretForm(request.POST) > if form.is_valid(): > yeni_ziyaret_objesi = form.save(commit = False) > yeni_ziyaret_objesi.temsilci = request.user > yeni_ziyaret_objesi.save() > return HttpResponse("Veritabanina kaydedildi. Yeni > ziyaretin id'si : %d" % yeni_ziyaret_objesi.pk) > else: > render_to_response('ziyaret_kaydet.html', {'zform': zform}, > context_instance=RequestContext(request)) > return render_to_response('ziyaret_kaydet.html', {'zform': > ZiyaretForm()}, context_instance=RequestContext(request)) > > Aşağıdaki şekilde yapmayı denedim ancak hata vermemesine karşın tüm > listeyi alıyorum. oysa ben sadece o userın temsilcisi olduğu müşteriyi > çekmek istiyorum > zform = ZiyaretForm(request.POST, > queryset=Musteri.objects.filter(temsilci = request.user)) > > Saygılarımla. > _______________________________________________ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > Merhaba, Model yapımı ve view yapımı Özgür Bey'in yardımı ile aşağıdaki şekilde değiştirdim, from django.db import models from django.forms import * from yenicrm.musteri.models import * from django.contrib.auth.models import User from django.forms.extras.widgets import *
# Create your models here. class Ziyaret(models.Model): tarih = models.DateField() temsilci = models.ForeignKey(User) musteri = models.ForeignKey(Musteri) gorusler = models.TextField() class ZiyaretForm(ModelForm): tarih = DateField(widget=SelectDateWidget()) musteri = ModelChoiceField(queryset = Musteri.objects.none()) def __init__(self, temsilci = None, *args, **kwargs): super(ZiyaretForm, self).__init__(*args, **kwargs) self.fields["musteri"] = Musteri.objects.none() if temsilci is None else Musteri.objects.filter(temsilci = temsilci) class Meta: model = Ziyaret exclude = ("temsilci",) View.py ise aşağıdaki gibidir: from django.shortcuts import render_to_response from django import forms from yenicrm.musteri.models import * from yenicrm.ziyaret.models import * from django.contrib.auth.decorators import login_required from django.template import Context, RequestContext from django.http import HttpResponse @login_required def index(request): ziyaretler = Ziyaret.objects.filter(temsilci = request.user) return render_to_response('ziyaret.html', {'ziyaretler': ziyaretler}) @login_required def ziyaret_ekle(request): if request.POST: zform = ZiyaretForm(request.POST) if form.is_valid(): yeni_ziyaret_objesi = form.save(commit = False) yeni_ziyaret_objesi.temsilci = request.user yeni_ziyaret_objesi.save() return HttpResponse("Veritabanina kaydedildi. Yeni ziyaretin id'si : %d" % yeni_ziyaret_objesi.pk) else: render_to_response('ziyaret_kaydet.html', {'zform': zform}, context_instance=RequestContext(request)) return render_to_response('ziyaret_kaydet.html', {'zform': ZiyaretForm()}, context_instance=RequestContext(request)) Herhangi bir değişiklik yapmadan {{zform.as_table}} diyerek çağırdığımda formu göremiyorum. view içinde zform = ZiyaretForm(request.POST, temsilci = request.user) ve/veya return render_to_response('ziyaret_kaydet.html', {'zform': ZiyaretForm(temsilci = requst.user)}, context_instance=RequestContext(request)) şeklinde çağırdığımda da form görünmüyor. Tıkandım kaldım, ne yapabilirim? Saygılar. _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php