问题列表 - 第24098页

IntegrityError:删除时出现外键冲突

我有订单和发货模型.装运有订购的外键.

class Order(...):
   ...

class Shipment()
   order = m.ForeignKey('Order')
   ...
Run Code Online (Sandbox Code Playgroud)

现在,在我的一个视图中,我想删除订单对象以及所有相关对象.所以我调用order.delete().

我有Django 1.0.4,PostgreSQL 8.4和我使用事务中间件,所以整个请求都包含在单个事务中.

问题是在order.delete()上我得到:

...
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/__init__.py", line 28, in _commit
return self.connection.commit()

IntegrityError: update or delete on table "main_order" violates 
foreign key constraint "main_shipment_order_id_fkey" on table "main_shipment"
DETAIL:  Key (id)=(45) is still referenced from table "main_shipment".
Run Code Online (Sandbox Code Playgroud)

我在connection.queries中检查了正确的查询以正确的顺序执行.首先发货被删除,之后django在订单行上执行删除:

{'time': '0.000', 'sql': 'DELETE FROM "main_shipment" WHERE "id" IN (17)'},
{'time': '0.000', 'sql': 'DELETE FROM "main_order" WHERE "id" IN (45)'}
Run Code Online (Sandbox Code Playgroud)

外键具有ON DELETE NO ACTION(默认值)并且最初是延迟的.我不知道为什么我会得到外键约束违规.

我还尝试注册pre_delete信号并在调用订单删除之前手动删除货件对象,但是它导致了同样的错误.

我可以在Postgres中更改此键的ON DELETE行为,但这只是一个黑客,我想知道是否有人更好地了解这里发生了什么.

还有一个小细节,我的订单模式从车模型继承,所以它实际上没有id字段,但cart_ptr_id和顺序执行这里还删除车后删除,但似乎不相关?发货 - >订单问题,所以我在示例中简化了它.

sql database django postgresql django-models

5
推荐指数
1
解决办法
5353
查看次数

在启动期间主要遇到使用MooseX :: Declare会影响性能吗?

使用MooseX :: Declare时的性能是否会受到影响,而它在初始魔术时会遇到(即将定义"转换"为标准的Perl语法)?即,一旦编译和初始运行时设置完成,调用MooseX :: Declare方法与通过传统声明定义的方法之间是否存在性能差异?

perl moose

5
推荐指数
1
解决办法
273
查看次数

在Ubuntu上检索可用的Wifi网络

我开始学习Ubuntu 9.10了.如何以编程方式检索所有可用的Wifi网络?有人能举个例子吗?

linux ubuntu wifi ubuntu-9.10

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

是否有任何针对Ontology/semantics/OWL/RDF的杀手级应用程序?

在网上阅读了很多书籍,博客和文章后,我对语义技术产生了兴趣,说它可以让数据机器理解,允许智能代理做出很好的推理,自动化和动态的服务组合等.

我还在读两年的相同内容.文章/博客/语义会议的数量大幅增加.但我仍然无法看到任何杀手级应用程序.为什么会这样?或者是否已经存在一些应用程序/产品(商业/开源),实际上是在做所有被吹嘘的事情?

为了更准确地说,是有它利用语义技术(ESP RDF/OWL/SPARQL),并提供功能/性能/可维护性,这将是不可能与现有的(无语义)技术的任何产品吗?某些产品完全依赖于语义技术,真正为客户增加价值并创造收入?

rdf semantic-web owl sparql semantics

30
推荐指数
4
解决办法
5423
查看次数

在PostgreSQL中使用Hibernate on Timestamp Column进行日期查询

表有时间戳列.其中的样本值可能是2010-03-30 13:42:42.使用Hibernate,我正在进行范围查询Restrictions.between("column-name",fromDate,toDate).

此列的Hibernate映射如下所示.

<property name="orderTimestamp"  column="order_timestamp" type="java.util.Date" />
Run Code Online (Sandbox Code Playgroud)

让我们说,我想找出所有日期为2010年3月30日和2010年3月31日的记录.此字段的范围查询如下所示.

Date fromDate = new SimpleDateFormat("yyyy-MM-dd").parse("2010-03-30");
Date toDate = new SimpleDateFormat("yyyy-MM-dd").parse("2008-03-31");
Expression.between("orderTimestamp", fromDate, toDate);
Run Code Online (Sandbox Code Playgroud)

这不起作用.

查询将转换为相应的时间戳"2010-03-30 00:00:00"和"2010-03-31 00:00:00".因此,2010年3月31日的所有记录都将被忽略.

解决这个问题的一个简单方法是将结束日期定为"2010-03-31 23:59:59".但是,我想知道是否有方法只匹配timestamp列的日期部分.

Expression.between()包括两个限制?文档对此没有任何启示.

java postgresql orm hibernate date

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

如何在IMAP中确定消息的UID

我正在使用C#在邮件客户端项目中工作.我正在使用POP和IMAP协议与服务器通信.问题是我无法弄清楚为什么当我想获取消息的UID时,POP服务器和IMAP服务器的结果是不同的.

POP
C: UIDL 1
S: +OK 1 UID2-1269789826
Run Code Online (Sandbox Code Playgroud)

IMAP
C: $ FETCH 1 (UID)
S: * 1 FETCH (UID 2)
S: $ OK Fetch completed.
Run Code Online (Sandbox Code Playgroud)

为什么获得UID的结果如此不同?IMAP是另一个功能吗?欢迎任何帮助.谢谢.

c# pop3 imap client-server uid

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

PHP序列化功能兼容UTF-8吗?

我有一个网站,我想从ISO迁移到UTF-8.

我有一个由以下主键索引的数据库记录:

s:22:"Informations générales";
Run Code Online (Sandbox Code Playgroud)

问题是,现在(使用UTF-8),当我序列化字符串时,我得到:

s:24:"Informations générales";
Run Code Online (Sandbox Code Playgroud)

(注意字符串的大小现在是字节数,而不是字符串长度)

所以这与非utf8以前的记录不兼容!

我做错什么了吗 ?我怎么能解决这个问题?

谢谢

php serialization utf-8

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

在Java中扩展T和SomeInterface <T>

我想创建一个带有两个参数的类.一个应该简单地输入为T.另一个应该被输入为扩展T和T的东西SomeInterface<T>.当我尝试这个时

public class SomeClass<T, S extends SomeInterface<T> & T>
Run Code Online (Sandbox Code Playgroud)

然后Java抱怨

"类型T不是接口;它不能被指定为有界参数"

如果相反,我试图为S创建一个接口

public interface TandSomeInterface<T> extends SomeInterface<T>, T
Run Code Online (Sandbox Code Playgroud)

然后Java抱怨

"不能将类型参数T称为超类型"

有没有办法在Java中这样做?我想你可以用C++做到这一点......?

java generics extends multiple-inheritance

8
推荐指数
1
解决办法
1465
查看次数

如何在vb.net中以编程方式设置文件夹共享

我有Client-Server环境并为Client-Server开发了一个项目.

我需要使用VB.NET以编程方式共享我的Server机器的文件夹

请帮我.

vb.net

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

Rails链接到当前页面并将参数传递给它

我通过使用url params传递语言环境,将I18N添加到我的rails应用程序中.我的网址看起来像http://example.com/en/usershttp://example.com/ar/users(分别针对英语和阿拉伯语语言环境).

在我的路由文件中,我使用:path_prefix选项定义了我的路由:

map.resources :users, :path_prefix => '/:locale'
Run Code Online (Sandbox Code Playgroud)

并且使用ApplicationController中定义的before_filter设置locale

def set_locale
    I18n.locale = params[:locale]
end
Run Code Online (Sandbox Code Playgroud)

我还定义了ApplicationController#default_url_options,将语言环境添加到应用程序生成的所有URL:

def default_url_options(options={})
    {:locale => I18n.locale}
end
Run Code Online (Sandbox Code Playgroud)

我想要的是在布局标题(在所有页面中显示)中添加一个链接,该链接将链接到同一页面,但链接到另一个区域设置.

例如,如果我正在浏览阿拉伯语语言环境,我希望标题中有一个"英语"链接,它会将我重定向回当前页面,并将语言环境设置为英语.有没有办法在rails中执行此操作?

ruby-on-rails internationalization

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