小编Huu*_*uze的帖子

如何使用Django ORM查询这个多对多的例子?

我有以下型号:

class Author(models.Model):
  author_name = models.CharField()

class Book(models.Model):
  book_name = models.CharField()

class AuthorBook(models.Model):
  author_id = models.ForeignKeyField(Author)
  book_id = models.ForeignKeyField(Book)
Run Code Online (Sandbox Code Playgroud)

话虽如此,我正在尝试使用Django ORM来模拟这个查询(选择特定作者编写的所有书籍,注意作者可以有很多书,书籍可以有很多作者):

SELECT book_name 
FROM authorbook, book
WHERE authorbook.author_id = 1
AND authorbook.book_id = book.id
Run Code Online (Sandbox Code Playgroud)

我在Django网站上阅读了这个FAQ页面,但在我修改模型结构并删除AuthorBook之前,我很好奇是否可以使用当前结构模拟该查询.

python django django-orm

5
推荐指数
2
解决办法
4923
查看次数

如何在XML架构中创建可重用的"US State"类型?

我有一个包含多个地址的XML架构:

<xs:element name="personal_address" maxOccurs="1">
  <!-- address fields go here -->
</xs:element>
<xs:element name="business_address" maxOccurs="1">
  <!-- address fields go here -->
</xs:element>
Run Code Online (Sandbox Code Playgroud)

在每个地址元素中,我包含一个"美国州"枚举:

<xs:simpleType name="state">
    <xs:restriction base="xs:string">
        <xs:enumeration value="AL" />
        <xs:enumeration value="AK" />
        <xs:enumeration value="AS" />
                ....
            <xs:enumeration value="WY" />
        </xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)

如何编写"US State"枚举一次并在每个地址元素中重复使用它?如果这是一个n00b问题我提前道歉 - 我以前从未写过XSD.

我最初的尝试是:

<xs:element name="business_address" maxOccurs="1">
  <!-- address fields go here -->
  <xs:element name="business_address_state" type="state" maxOccurs="1"></xs:element>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

xsd enumeration

4
推荐指数
1
解决办法
4967
查看次数

哪个在Python中更有效:标准导入还是上下文导入?

如果这个问题似乎有所补救,我会提前道歉.

哪个在Python中被认为更有效:

标准进口

import logging

try:
  ...some code...
exception Exception, e:
  logging.error(e)
Run Code Online (Sandbox Code Playgroud)

...要么...

上下文导入

try:
  ...some code...
exception Exception, e:
  import logging
  logging.error(e)
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
1
解决办法
414
查看次数

如何在XML Schema中为整数设置最小长度?

我正在创建XML Schema,我的一个值是一年.因此,我想确保所有值都有4个字符.为此,我使用以下语法:

<xs:element name="publish_year" maxOccurs="1">
  <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
      <xs:totalDigits value="4"/>
    </xs:restriction>
  </xs:simpleType>                                      
</xs:element>
Run Code Online (Sandbox Code Playgroud)

如果我正确理解"totalDigits",有人可以传入"publish_year"值"2008"或"200".两者都有效.因此,如何构建我的XSD以确保需要4位数?乍一看,我猜我会使用正则表达式,但我想知道我是否忽略了已经出现过的东西(比如"totalDigits")

更新:

我选择了以下解决方案.它可能有点矫枉过正,但它得到了重点:

<xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
        <xs:totalDigits value="4" fixed="true"/>
        <xs:minInclusive value="1900"/>
        <xs:pattern value="^([1][9]\d\d|[2]\d\d\d)$"/>
    </xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)

xml xsd

4
推荐指数
1
解决办法
1万
查看次数

Flex 3中组件的建议前缀命名约定是什么?

我正在寻找一种在Flex应用程序中命名组件的标准方法.例如,所有TextFields在其ID属性中以"txt"开头(即"txtFirstName").有没有人熟悉我可以使用的前缀命名约定列表,而不是重新发明轮子?

apache-flex naming-conventions flex3

4
推荐指数
1
解决办法
1134
查看次数

我如何使用South迁移将数据加载到Django的auth_group表中?

我有一些新的组,我想添加到Django的"auth_group"表,我更喜欢使用South将这些数据"迁移"到数据库中.不幸的是,我不确定我应该采取什么步骤来创建迁移文件,然后让它加载我的夹具.

有什么想法吗?

python django django-south

4
推荐指数
1
解决办法
1634
查看次数

如何使用Postgresql查找组中最旧的记录?

考虑"book"表(group_id,title,check_out_date)中的以下数据集:

> 1 - "Moby Dick" - 2010-01-01
> 1 - "The Jungle Book" - 2011-05-05
> 1 - "Grapes of Wrath" - 1999-01-12
> 2 - "Huckleberry Finn" - 2000-01-05
> 2 - "Tom Sawyer" - 2011-06-12
Run Code Online (Sandbox Code Playgroud)

我需要编写一个查询,该查询将返回包含每个组(组1和组2)中最早的"check_out_date"值的记录.这应该相当容易 - 我只是不知道该怎么做.

sql postgresql

4
推荐指数
1
解决办法
9430
查看次数

Python 2.5是否包含一个本地转换XML文档的包?

在我的Python应用程序中,我有一个XML文档,我想使用我的XSL文件进行转换.我目前正在使用xml.etree生成XML文档,但我没有在Python 2.5中找到允许我本地转换XML文档的任何内容.

我已经找到了一个可以执行转换的库(libxslt),但我认为Python会有一个本机库来实现所需的结果.

有什么想法吗?

python xml xslt elementtree

3
推荐指数
1
解决办法
1082
查看次数

如何在OSX上测试从Web应用程序发送电子邮件?

我有一个在本地运行的Django应用程序,我想测试" send_mail() "功能.目前,我可以在终端中使用以下命令打开postfix:

sudo postfix start
Run Code Online (Sandbox Code Playgroud)

一旦我打开postfix,我在终端中运行以下命令:

telnet localhost 25
Run Code Online (Sandbox Code Playgroud)

这两个步骤似乎正在起作用,因为"send_mail()"函数不会失败或导致异常.不幸的是,我不确定接下来我应该做什么来查看它发送的电子邮件.我试图配置Mail.app连接到localhost,但没有这样的运气.

有没有人能够深入了解我需要做什么才能看到postfix发送的电子邮件?

django macos postfix-mta sendmail

3
推荐指数
1
解决办法
1069
查看次数

为什么 Django 不会自动转义我的 &lt;script&gt; 标签?

我的 Django 应用程序有一个 Person 表,其中名为 的字段中包含以下文本details

<script>alert('Hello');</script>

当我调用PersonForm.details模板时,页面会相应地呈现脚本(即显示带有“Hello”一词的警报)。我对这种行为感到困惑,因为我一直认为Django 1.0默认情况下会自动转义模板内容。

知道这里可能发生什么吗?

更新:这是我的模板中的片段。没什么特别性感的:

{{ person_form.details }}
Run Code Online (Sandbox Code Playgroud)

更新2:我已经尝试过escape,,force-escapeescapejs。这些都不起作用。

django templates

2
推荐指数
1
解决办法
4592
查看次数

使用"OR"条件的正则表达式

我可以使用一些帮助来编写正则表达式.在我的Django应用程序中,用户可以点击以下URL:

http://www.example.com/A1/B2/C3
Run Code Online (Sandbox Code Playgroud)

我想创建一个允许接受以下任何一个有效URL的正则表达式:

http://www.example.com/A1  
http://www.example.com/A1/B2  
http://www.example.com/A1/B2/C3  
Run Code Online (Sandbox Code Playgroud)

我猜我需要使用"OR"条件,但是我无法让我的正则表达式进行验证.有什么想法吗?

更新:到目前为止这是正则表达式.请注意,我没有包含" http://www.example.com "部分 - Django为我处理.我只关心验证1,2或3个子目录.

^(\w{1,20})|((\w{1,20})/(\w{1,20}))|((\w{1,20})/(\w{1,20})/(\w{1,20}))$
Run Code Online (Sandbox Code Playgroud)

regex django django-urls

2
推荐指数
1
解决办法
1万
查看次数

当一列是变量值时,如何在Postgresql 8.4中插入行?

我想在"作者"表中为每个作者的"书籍"表中插入记录.换句话说,如果这代表作者表:

> 1 - "Herman Melville" 
> 2 - "Stephen King" 
> 3 - "Truman Capote"
Run Code Online (Sandbox Code Playgroud)

...然后,插入将在"book"表中产生这些结果:

> 'Hello World' - 1
> 'Hello World' - 2
> 'Hello World' - 3
Run Code Online (Sandbox Code Playgroud)

我有以下INSERT语句(它实际上是一个粗略的例子,但它证明了目标):

INSERT INTO books (title, author_id) VALUES ('Hello World', SELECT id FROM author);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这失败了,我不确定如何从"作者"表中获取每个"id"值.

sql postgresql insert

2
推荐指数
1
解决办法
2185
查看次数

Postgresql查询搜索文本字段中的多个字符串

我有一个包含文本字段的表(摘要).我最近收到了一个查询该字段的请求,以查找任何长字符串列表.例如,我想在"摘要"字段中搜索这些字符串的任何出现:

  • 苹果
  • 香蕉
  • 胡萝卜
  • ... x 50多个项目
  • 斑马

我可以写一个简单的查询,它会返回包含任何这些值的行的ID吗?

sql postgresql

1
推荐指数
3
解决办法
1万
查看次数