Я работаю над приложением Gran Turismo 5 Django. Вот очень упрощенная модель данных:
class Event(models.Model):
name = models.CharField(max_length=256, unique=True)
class EventCriteria(models.Model):
name = models.CharField(max_length=256, unique=True)
events = models.ManyToManyField(Event)
test = ???
class Country(models.Model):
name = models.CharField(max_length=256, unique=True)
class Make(models.Model):
name = models.CharField(max_length=256, unique=True)
country = models.ForeignKey(Country)
class Car(models.Model):
name = models.CharField(max_length=256, unique=True)
make = models.ForeignKey(Make)
class Setup(models.Model):
name = models.CharField(max_length=256, unique=True)
car = models.ForeignKey(Car)
horsepower = models.IntegerField()
Например, данное событие может иметь критерии «Страна = Италия». Применительно к модели выше, это потребует теста, подобного следующему:
setup.car.make.country.name == u'Italy'
У кого-нибудь есть хорошая основа для того, чтобы я мог структурировать модель EventCriteria (особенно поле или поля 'test'), чтобы а) сохранять эти тесты и б) применять их в качестве фильтров в будущих представлениях?
Спасибо
Mike