首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django注释代码

Django注释代码
EN

Stack Overflow用户
提问于 2013-07-18 22:51:11
回答 1查看 37关注 0票数 1

只是偶然发现了一些人的代码

他有这样的模型

代码语言:javascript
运行
复制
class Country(models.Model):
  name = models.CharField(max_length=100)

class TourDate(models.Model):
  artist = models.ForeignKey("Artist")
  date = models.DateField()
  country = models.ForeignKey("Country")

并像这样查询

代码语言:javascript
运行
复制
    ireland = Country.objects.get(name="Ireland")
  artists = Artist.objects.all().extra(select = {
      "tourdate_count" : """
      SELECT COUNT(*)
      FROM sandbox_tourdate
          JOIN sandbox_country on sandbox_tourdate.country_id = sandbox_country.id
      WHERE sandbox_tourdate.artist_id = sandbox_artist.id
      AND sandbox_tourdate.country_id = %d """ % ireland.pk,
  }).order_by("-tourdate_count",)

我的问题是,为什么他有像sandbox_tourdate这样的下划线,但它不在模型字段中,是不是像某种伪字段一样自动创建的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-18 23:10:05

sandbox_tourdate不是字段的名称,而是表的名称。Django的命名约定是使用appname_modelname作为表名,尽管这可以被覆盖。在这种情况下,我猜这个应用程序被称为‘沙盒’。

我真的不知道那个人为什么要使用原始查询,这在Django的ORM语法中很容易表达。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17726829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档