小编Mat*_*bum的帖子

GeoDjango:如何根据点和半径创建圆

我有以下(简化)模型:

class Zone(gismodels.Model):
    name = gismodels.CharField()
    poly = gismodels.PolygonField()
Run Code Online (Sandbox Code Playgroud)

我想基于给定的点和半径创建并保存表示圆的多边形.

我可以弄清楚如何实现这一点的唯一方法是使用原始SQL调用postgis ST_Buffer函数.我真的希望还有另一种方式.

是否可以访问GEOS缓冲区方法?

gis django geodjango geos

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

为什么Paypal在使用django-paypal时会重试IPN

我一直试图在我的Django项目中使用django-paypal应用程序.我正在使用dcramer fork,使用Django 1.4.我还使用Paypal开发人员帐户与商业和个人帐户,通过Paypal沙盒网站处理交易.

如果我没有连接到payment_was_successful信号的接收器功能,事情似乎按预期工作.发生事务后,将paypal_ipn在数据库的表中创建一个新行,该行的值为"VERIFIED" response.Paypal IPN日志报告此交易没有重试.

当我确实有一个连接到payment_was_successful信号的接收器功能时,该paypal_ipn表包括两个新行,created_at时间戳相隔10-15秒.它们在响应列中都具有'VERIFIED'值,但两者中的后者标记为flag_info:

'重复txn_id.(5M907276M1007902B)"

Paypal企业帐户报告IPN重试了一次.

我找到了可能的解决方案,提到将dispatch_uid接收器功能连接到我尚未尝试的信号时的使用.我的问题是我查看了相关的django-paypal源代码,我无法理解为什么Paypal会在第一个回复验证时重试IPN.

有没有人反对这一点并找到了他们理解的解决方案?


更新:

我发现我的接收器功能代码中存在错误,这可能会引发异常.现在我已经解决了这个问题,Paypal不再重试IPN了.我很高兴问题已经消失,但我仍然无法弄清楚它为什么会发生.

以下是数据库中最新重复记录的摘录.请注意,第一行是在后续行之前至少10秒创建和更新的.

created_at                       updated_at                       response    flag
2013-02-03 07:53:56.628013+00    2013-02-03 07:53:56.628057+00    VERIFIED    FALSE
2013-02-03 07:54:07.393795+00    2013-02-03 07:54:07.403008+00    VERIFIED    TRUE
Run Code Online (Sandbox Code Playgroud)

django django-paypal paypal-ipn

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

标签 统计

django ×2

django-paypal ×1

geodjango ×1

geos ×1

gis ×1

paypal-ipn ×1