访问不带related_name的模型

时间:2017-05-04 14:43:58

标签: python django foreign-keys django-queryset

我有模特日历:

class Calendar(models.Model):
    name = models.CharField(_('Name'), max_length=50)
    active = models.BooleanField(default=True)

这是带有related_name的模型:

class Base(models.Model):
    calendar = models.ForeignKey(Calendar, related_name='base')
    code = models.CharField(_('Code'), max_length=2, default='DE')
    default = models.BooleanField(default=False)

这没问题,因为我可以通过以下方式访问日历:

base_ids = self.calendar.base.values_list('id', flat=True)

但我有另一个没有related_name的模型:

class Post(models.Model):
    calendar = models.ForeignKey(Calendar)
    pub_date = models.DateTimeField(blank=True, null=True)

我尝试过:

post_id = self.calendar_set.themes.values_list('id', flat=True)

但它没有用。

1 个答案:

答案 0 :(得分:0)

从不要求添加related_name以获取对模型的访问权限。 (唯一一次需要添加一个是在发生冲突的时候。)此处的默认值为post_set,效果正常。