我正在为对象使用多表继承,我需要将父对象外键引用的选择限制为仅应用子系统的规则。
from schedule.models import Event, Rule
class AirShowRule(Rule):
"""
Inheritance of the schedule.Rule
"""
rule_type = models.TextField(default='onAir')
class AirShow(Event):
station = models.ForeignKey(Station)
image = models.ImageField(upload_to='images/airshow', null=True, blank= True)
thumb_image = models.ImageField(upload_to='images/airshow', null=True, blank= True)
现在,在管理员中,我只希望AirShowRule成为AirShow(Event)的选择。我得到的是schedule.event系统中的所有规则。
的django-schedule答案 0 :(得分:1)
我查看了列出的类的结构,你应该添加它:
class AirShow(Event):
... your stuff...
rule = models.ForeignKey(AirShowRule, null = True, blank = True,
verbose_name="VERBOSE NAME", help_text="HELP TEXT")
应该让所有事情都顺利(从“规则”改为“AirShowRule”)
你还应该确保你完全实现 AirShowRule ,因为我认为你没有覆盖rule_type,如果你是,我认为它不会做到这一切你想要
*请参阅:models.py:23
...这一行取自models.py:103并修改了参数:verbose___name& help_text(可能是可选的,但我会留给你检查)
请注意我之前没有使用过这些模块,但这应该会让您继续前进:)