event = Event.objects.filter(org = request.org).select_related(“event_def”,“location”,“space”)
我得到像这样的东西
第一个对象
阿拉木图之夜#some event_def
内部 - > Sary Arka #location
内部位置 - > Hall 7 #place
内部地点 - > 3月1991年0:00:00 #Event
第二个对象
阿拉木图之夜#some event_def
内部 - > Omega #location
内部位置 - > 2号厅#place
内部地点 - > 6月1991年0:00:00 #Event
我需要一个event_def并且在多个位置..etc
事件模型
org = models.ForeignKey(Organization)
event_def = ChainedForeignKey(EventDef,
chained_field = "org",
chained_model_field = "org",
show_all = False,
auto_choose = True
)
location = ChainedForeignKey(Location,
chained_field = "org",
chained_model_field = "org",
show_all = False,
auto_choose = True
)
space = ChainedForeignKey(Space,
chained_field = "location",
chained_model_field = "location",
show_all = False,
auto_choose = True
)
time = models.DateTimeField()
enabled = models.IntegerField(choices = ns.FULL_ENABLE_STATUSES, default = ns.ENABLED_STATUS)
objects = EnableDisableManager()
答案 0 :(得分:0)
您是说您希望能够获得多个活动地点?如果这样做,那么您的数据模型是错误的。对于具有多个位置的事件,您希望这样做:
class Event(models.Model):
org = ...
event_def = ...
space = ...
...
class Location(models.Model):
event = models.ForeignKey(Event, related_name='locations')
...
然后在您的模板中,您将能够执行此操作:
{{ event }}
{% for location in event.locations %}
{{ location }}
{% endfor %}