Ben sadece bugün Django ile oynamaya başladım ve şu ana kadar basit şeyler yapmakta zorlanıyorum. Şu anda uğraştığım şey, durum türlerinin bir listesini filtrelemek. StatusTypes modelidir:Django yönetici için filtreleme modeli sonuçları seçme kutusu
class StatusTypes(models.Model):
status = models.CharField(max_length=50)
type = models.IntegerField()
def __unicode__(self):
return self.status
class Meta:
db_table = u'status_types'
bir yönetici sayfasında tüm sonuçları gereken yere type = 0 diğerinde ben type = 1 yüzden sadece içinden bunu sınırlayamaz Tüm sonuçları gerekir modeli. Bunu yapmak için nasıl giderim?
EDIT: Biraz daha açık olmalıydım. StatusTypes için bir yabancı anahtarı olan bir model "Unit" var.
class StatusTypes(models.Model):
status = models.CharField(max_length=50)
type = models.IntegerField()
def __unicode__(self):
return self.status
class Meta:
db_table = u'status_types'
class Unit(models.Model):
name = models.CharField(unique=True, max_length=50)
status = models.ForeignKey(StatusTypes, db_column='status')
note = models.TextField()
date_added = models.DateTimeField()
def __unicode__(self):
return self.name
class Meta:
db_table = u'units'
Yani şimdi ünite modeli için yönetici sayfanızda aşağıdaki kodu çalıştı aşağıdaki I lazerscience yanıtının kapalı göre type = 1. yalnızca olanlara durumunu sınırlamak istiyorum: şu şekildedir: modellerdir
( )Ancak, seçim kutusunu hiç değiştirmedi. Ayrıca qs değerini yazdırmayı denedim ve terminalime hiçbir şey gönderilmediysem, bu yüzden bazı soruların queryset'i çağırmam gerekip gerekmediğini merak ediyorum.
DÜZENLEME 2: Bunu, Birim modeli için oluşturma sayfasındaki durum açılır menüsüne göre filtrelemek istediğim net olmayabilir.
Yanıt için teşekkürler.List_filter çalışmayacak çünkü tip = 0 statüsüne sahip bir üniteniz olamaz ve yanılmıyorsam list_filter seçeneği kullanıcıya bir kenar çubuğu ekler. Bunu yapmak çok zor bir şeydi, en azından henüz bir cevap bulamadım. Tüm yapmak istediğim, 'WHERE part = 1' sorgusuna eklemek. – blcArmadillo
Belki de ne istediğinizi kaçırıyorum, ancak 'list_filter 'listesine' status' eklerseniz, bu alan için izin verilen değerlere göre filtrelemenizi sağlayan bir widget verecektir. İhtiyacınız olan şey gibi, yönetici URL'ye get parametresi ekleyerek çalışır. –
Gabriel, Sadece karışıklığın ne olabileceğini anladım. Ekleme sayfasındaki durum seçim alanı için durum tiplerini filtrelemek istiyorum. Önceden eklenmiş olan Birimler listesine bir filtre sütunu eklemeyin. Bu, şeyleri açıklığa kavuşturmaya yardımcı olur mu? – blcArmadillo