我有以下型号:
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之前,我很好奇是否可以使用当前结构模拟该查询.
我有一个包含多个地址的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) 如果这个问题似乎有所补救,我会提前道歉.
哪个在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) 我正在创建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) 我正在寻找一种在Flex应用程序中命名组件的标准方法.例如,所有TextFields在其ID属性中以"txt"开头(即"txtFirstName").有没有人熟悉我可以使用的前缀命名约定列表,而不是重新发明轮子?
我有一些新的组,我想添加到Django的"auth_group"表,我更喜欢使用South将这些数据"迁移"到数据库中.不幸的是,我不确定我应该采取什么步骤来创建迁移文件,然后让它加载我的夹具.
有什么想法吗?
考虑"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"值的记录.这应该相当容易 - 我只是不知道该怎么做.
在我的Python应用程序中,我有一个XML文档,我想使用我的XSL文件进行转换.我目前正在使用xml.etree生成XML文档,但我没有在Python 2.5中找到允许我本地转换XML文档的任何内容.
我已经找到了一个可以执行转换的库(libxslt),但我认为Python会有一个本机库来实现所需的结果.
有什么想法吗?
我有一个在本地运行的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 应用程序有一个 Person 表,其中名为 的字段中包含以下文本details:
<script>alert('Hello');</script>
当我调用PersonForm.details模板时,页面会相应地呈现脚本(即显示带有“Hello”一词的警报)。我对这种行为感到困惑,因为我一直认为Django 1.0默认情况下会自动转义模板内容。
知道这里可能发生什么吗?
更新:这是我的模板中的片段。没什么特别性感的:
{{ person_form.details }}
Run Code Online (Sandbox Code Playgroud)
更新2:我已经尝试过escape,,force-escape和escapejs。这些都不起作用。
我可以使用一些帮助来编写正则表达式.在我的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) 我想在"作者"表中为每个作者的"书籍"表中插入记录.换句话说,如果这代表作者表:
> 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"值.
我有一个包含文本字段的表(摘要).我最近收到了一个查询该字段的请求,以查找任何长字符串列表.例如,我想在"摘要"字段中搜索这些字符串的任何出现:
我可以写一个简单的查询,它会返回包含任何这些值的行的ID吗?
django ×5
python ×4
postgresql ×3
sql ×3
xml ×2
xsd ×2
apache-flex ×1
django-orm ×1
django-south ×1
django-urls ×1
elementtree ×1
enumeration ×1
flex3 ×1
insert ×1
macos ×1
postfix-mta ×1
regex ×1
sendmail ×1
templates ×1
xslt ×1