我一直在阅读并遵循 Django 教程https://docs.djangoproject.com/en/1.3/intro/tutorial01/我在具有 512 MB RAM 的 Xubuntu 12.04 LTS 虚拟机上运行 Django 1.3.1 和 Python 2.7.3如果这很重要。
实际上我找到了确切的问题,但参考似乎已经过时了。有没有人有一个可行的参考链接?Django 中的“article_set”从何而来?
先感谢您。
我一直在阅读并遵循 Django 教程https://docs.djangoproject.com/en/1.3/intro/tutorial01/我在具有 512 MB RAM 的 Xubuntu 12.04 LTS 虚拟机上运行 Django 1.3.1 和 Python 2.7.3如果这很重要。
实际上我找到了确切的问题,但参考似乎已经过时了。有没有人有一个可行的参考链接?Django 中的“article_set”从何而来?
先感谢您。
Django 进行 ForeignKey 查找以建立相关对象之间的关系。这些关系作为访问器动态添加,后缀为_set
def get_accessor_name(self):
# This method encapsulates the logic that decides what name to give an
# accessor descriptor that retrieves related many-to-one or
# many-to-many objects. It uses the lower-cased object_name + "_set",
# but this can be overridden with the "related_name" option.
if self.field.rel.multiple:
# If this is a symmetrical m2m relation on self, there is no reverse accessor.
if getattr(self.field.rel, 'symmetrical', False) and self.model == self.parent_model:
return None
return self.field.rel.related_name or (self.opts.object_name.lower() + '_set')
else:
return self.field.rel.related_name or (self.opts.object_name.lower())
执行此操作的 Django 源代码 ( models/related.py
)