Je le modèle suivant:Django doivent foreignkey partager une contrainte
class Program(models.Model):
name = models.CharField(max_length = 128)
def __unicode__(self):
return self.name
class Cheat(models.Model):
program = models.ForeignKey(Program)
shortcut = models.CharField(max_length = 64)
description = models.CharField(max_length = 512)
def __unicode__(self):
return u"(%s) - %s" % (self.shortcut, self.description)
class Category(models.Model):
#program = models.ForeignKey(Program)
name = models.CharField(max_length = 128)
def __unicode__(self):
return self.name
class Sheet(models.Model):
program = models.ForeignKey(Program)
name = models.CharField(max_length = 128)
def __unicode__(self):
return self.name
class CategorizedCheat(models.Model):
order = models.IntegerField(unique = True)
sheet = models.ForeignKey(Sheet)
cheat = models.ForeignKey(Cheat)
category = models.ForeignKey(Category)
def __unicode__(self):
return unicode(self.cheat)
Dans l'administration, je veux afficher une feuille avec CategorizedCheats en ligne. Le problème est que je ne peux pas avoir que Triche qui sont liés au même programme que la feuille. Existe-t-il un moyen de filtrer ces problèmes avec le programme Sheet.program? Ou y at-il quelque chose qui ne va pas avec mes modèles?
Juste pour clarifier: Cela signifie que vous êtes en train d'éditer des objets CatégorizedCheat dans un InlineAdmin qui fait partie d'un Admin for Sheet? –
@lazerscience: oui – slurdge