[英]Django not see the table in generic relation
我正在使用具有通用關系的Django 1.7.2(原因:項目有兩個數據庫),並且在導入后我不想覆蓋數據庫。
我只想顯示活躍的季節
這是我的模型,導入后被覆蓋:
class Season(models.Model):
name = models.CharField('Name', max_length=255)
start = models.DateField('Start')
end = models.DateField('End')
def __unicode__(self):
return self.name
在models.py文件的另一個地方,我創建了與另一個數據庫中另一個模型(SaleAndCycle)的通用關系:
def extend_models(sender, **kwargs):
if sender._meta.app_label != 'extend':
return
def set_stati(self, database='extend', save=True):
online_before = self.online
self.online = True
for flag in self.flags:
if flag.flag == 'offline':
self.online = False
if save and self.online != online_before:
self.save(using=database)
for name, name_singular, name_plural in (
('Season', 'Season', 'Seasons'):
if sender.__name__ == name:
sender._meta.verbose_name = name_singular
sender._meta.verbose_name_plural = name_plural
if sender.__name__ == 'Season':
sender.add_to_class('sale_and_cycles', generic.GenericRelation(SaleAndCycle))
sender.add_to_class('is_sale_active', property(
lambda o: o.sale_and_cycles.using('default')))
sender.add_to_class('is_cyclic_event_active', property(
lambda o: o.sale_and_cycles.using('default')))
sender.add_to_class('cycle_link', property(
lambda o: o.sale_and_cycles.using('default')))
我想顯示所有未登錄用戶的活動季節:
def get_queryset(self):
seasons = Season.objects.all()
if not self.request.user.is_superuser:
all_seasons = Season.objects.filter(events_isactiveflags__is_active=True)
print all_seasons
我得到錯誤:
no such table: events_isactiveflag
但是該表存在於我的數據庫中。
通過代碼行
Season.objects.filter(events_isactiveflags__is_active=True)
這里events_isactiveflags__is_active=True
表示events_isactiveflags是表,而is_active是表的列。 因此,找不到這樣的表,名為events_isactiveflags 。 如果您嘗試進行活動會話,則可以嘗試以下代碼
Session.objects.filter(expire_date__gte=timezone.now())
刪除數據庫,然后再次運行syncdb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.