से पूरे क्वेरीसमूह मैं निम्नलिखित मॉडल:को शामिल न करें परिणाम
class LibraryEntry(models.Model):
player = models.ForeignKey(Player)
player_lib_song_id = models.IntegerField()
title = models.CharField(max_length=200)
artist = models.CharField(max_length=200)
album = models.CharField(max_length=200)
track = models.IntegerField()
genre = models.CharField(max_length=50)
duration = models.IntegerField()
is_deleted = models.BooleanField(default=False)
class Meta:
unique_together = ("player", "player_lib_song_id")
def __unicode__(self):
return "Library Entry " + str(self.player_lib_song_id) + ": " + self.title
class BannedSong(models.Model):
lib_entry = models.ForeignKey(LibraryEntry)
def __unicode__(self):
return "Banned Library Entry " + str(self.lib_entry.title)
मैं इस तरह एक प्रश्न करना चाहते हैं:
banned_songs = BannedSong.objects.filter(lib_entry__player=activePlayer)
available_songs = LibraryEntry.objects.filter(player=activePlayer).exclude(banned_songs)
मूल रूप से अगर एक गाना प्रतिबंध लगा दिया है, मैं बाहर करना चाहते हैं यह उपलब्ध गाने के मेरे सेट से। Django में ऐसा करने का कोई तरीका है?
आप 'is_banned' एक अपने LibraryEntry मॉडल की बूलियन क्षेत्र नहीं बना सकते हैं? – jimw
हां, लेकिन बहुत कम गीत वास्तव में उस संख्या की तुलना में प्रतिबंधित किए जाएंगे जो नहीं हैं। मैंने एक बूलियन क्षेत्र जोड़ना लगाया कि अधिकांश भाग केवल एक मूल्य होने वाला है, यह खराब रूप है। –
मैं ऐसा नहीं कहूंगा, लेकिन मुझे लगता है कि यह स्वाद का विषय है। – jimw