我正在建立一个电子商务网站,django-paypal用于接受Paypal付款.
95%的情况下,一切都运行完美,用户可以付费,无论是沙箱,还是接收他们购买的东西.
然而,另外5%的时间,而不是VERIFIED"或INVALID"作为响应代码,我得到:Invalid postback. (<html> <body> Fatal Failure <br> </body> </html> )
这可以防止我们的程序知道该怎么做,因此付款会在我们这边得到验证即使付款在IPN和Paypal方面被标记为"完整".
在我的工作中,我经常在我的django模型中有两个表,并且必须连接它们以将此数据作为csv返回.该数据未通过外键连接,但它们具有连接它们的标识符.这是因为我们从两个不同的源导入这些数据,有时缺少对应的数据,因此在创建条目时无法连接它.
我的问题是:如果你想到我经常要返回这些数据,那么在性能方面连接这些数据的最佳方法是什么?
class OrderInvoiceConnector(models.Model):
order_data = models.ForeignKey(Order, related_name="invoice")
invoice_data = models.ForeignKey(Invoice, related_name="order")
Run Code Online (Sandbox Code Playgroud)
class ConnectedData(models.Model):
invoice_id = models.CharField(max_length=255)
country_iso = models.CharField(max_length=255)
invoice_date = models.CharField(max_length=255)
tax = models.FloatField(max_length=255)
price = models.FloatField()
Run Code Online (Sandbox Code Playgroud) python django performance django-models database-performance
我们django-simple-history为我们的模型做好了准备.最近,一大堆模型被神秘地删除了.事实发生后几天就注意到了这一点,因此避免完整的数据库备份恢复会很好,因为这样可以消除事后发生的手动更改.
我找不到任何方法来轻松恢复模型实例,特别是删除的模型实例.我可以查询模型的历史版本并查找已删除的所有内容.有了这个,我还可以观察到他们所有人都有删除作为他们的最后一次改变.我可以在history-1上使用instance属性来获取删除前的状态,但是如果我尝试保存它是错误的,因为模型实例已被删除而且不再存在.
基本上,如果我有django-simple-history的历史记录,那么恢复已删除模型实例的最简洁方法是什么?如果可能的话,我想保留历史记录,所以在完全重新创建对象之前,我正在研究任何解决方案.
如何在 ubuntu 中将 celery 作为守护进程服务运行,而不是celery -A projname worker -l info每次都运行“”命令。
我使用的是 celery 3.1.8 版本....
救命!
我有以下两种型号:
class Account(models.Model):
username = models.OneToOneField(User, primary_key=True, unique=True)
receiveaddress = models.CharField(max_length=40, blank=True, null=True, unique=True)
balance = models.DecimalField(max_digits=16, decimal_places=8, default=0)
def __str__(self):
return str(self.username)
class Deposits(models.Model):
receiveaddress = models.CharField(max_length=40, blank=True, null=True, unique=True)
amount = models.DecimalField(max_digits=16, decimal_places=8, default=0)
user = ?????????????????
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
confirmed = models.BooleanField(default=False)
accounted = models.BooleanField(default=False)
def __str__(self):
return str(self.receiveaddress)
Run Code Online (Sandbox Code Playgroud)
示例: 可视化
我的问题:
我希望"Deposits.user" 自动引用此"receiveaddress"所属的用户.在这个例子中,那是TIM.我浪费了6个小时试图搞清楚,我做错了什么?
提前致谢.
我有以下 MongoEngine 文档
{
'_id': 'some_id',
'data': 'some_data'
}
Run Code Online (Sandbox Code Playgroud)
如何delete使用 MongoEngine 编写此文档?
我试过的:
import my_collection
obj = my_collection.MyCol.objects.get(_id='some_id')
# obj is correctly found - let's continue
obj.delete()
# mongoengine.errors.ValidationError: 'None' is not a valid ObjectId
obj.delete('some_id')
# TypeError: delete() takes 1 positional argument but 2 were given
obj.delete(_id='some_id')
# mongoengine.errors.ValidationError: 'None' is not a valid ObjectId
Run Code Online (Sandbox Code Playgroud)
--注意
奇怪的是,以下工作完美:
my_collection.MyCol.objects.delete()
# delete all documents in the collection
Run Code Online (Sandbox Code Playgroud)
但是我已经关注了MongoEngine文档,但仍然无法仅删除一个特定的文档。
我正在使用Django渠道小组来构建聊天系统,并希望获取聊天室中的所有用户.
集团提供以下方法:
Group("group_name").add(message.reply_channel)Group("group_name").discard(message.reply_channel)Group("group_name").send({"text": "My group message",})但是没有什么可以找到Group中的所有用户(reply_channel).
谢谢
Django为我们提供了ArrayField:一个PostgreSQL特定的模型字段,允许存储数据列表.
我用它来模拟Article对象:
authors = ArrayField(models.Charfield)
title = models.CharField
Run Code Online (Sandbox Code Playgroud)
例如,这是数据库中的一个条目:
我想将所有文章导出为JSON:
query_set = Article.objects.all()
articles_json = serialize('json', fields('authors', 'title')
Run Code Online (Sandbox Code Playgroud)
ArrayField"authors"的序列化使用四个反斜杠而不是两个反转字符"é".常规"标题"字段已正确转义.看看差异:
articles_json = {"title":"Sur le terrain cr\\u00e9tac\\u00e9 de Li\\u00e9ge", "authors": "[\\"Pierre St\\\\u00e9\\", "Jacques Dupont"]"}
Run Code Online (Sandbox Code Playgroud)
客户不理解这一点.为了使它工作,我只是搜索并替换字符串
articles_json = articles_json.replace('\\\\','\\')
Run Code Online (Sandbox Code Playgroud)
我真的不确定这个解决方法.你有没有试过这个问题?你是怎么解决的?
我正在使用postgres映像在本地运行容器。我需要处理大量数据,并且我想为此使用外部硬盘驱动器。是否可以在外部硬盘驱动器上装载卷?我可以用Flocker完成我想要的吗?
我正在为Mac使用本机docker。
我们正在开发一个新的REST API,它将使用Docker部署在AWS ElasticBeanstalk上.它使用Python Celery进行预定作业,这意味着需要为工作人员运行单独的进程,我们当前的Docker配置有三个容器......
Multicontainer Docker:
09c3182122f7 sso "gunicorn --reload --" 18 hours ago Up 26 seconds sso-api
f627c5391ee8 sso "celery -A sso worker" 18 hours ago Up 27 seconds sso-worker
f627c5391ee8 sso "celery beat -A sso -" 18 hours ago Up 27 seconds sso-beat
Run Code Online (Sandbox Code Playgroud)
传统观点认为我们应该在ElasticBeanstalk上使用多容器配置,但由于所有容器都使用相同的代码,因此从OPS的角度来看,使用带有Supervisord的单个容器配置来管理进程可能更有效,更简单.
单个容器带Supervisord:
[program:api]
command=gunicorn --reload --bind 0.0.0.0:80 --pythonpath '/var/sso' sso.wsgi:application
directory=/var/sso
[program:worker]
command=celery -A sso worker -l info
directory=/var/sso
numprocs=2
[program:beat]
command=celery beat -A sso -S djcelery.schedulers.DatabaseScheduler
directory=/var/sso
Run Code Online (Sandbox Code Playgroud)
当在AWS内存上设置多容器配置分配给每个容器时,我的想法是让容器OS在内部处理内存分配而不是将其显式设置到每个容器更有效.我不太了解多容器Docker如何在ElasticBeanstalk下运行,以智能地推荐这种或那种方式.
这种情况的最佳配置是什么?
django ×7
python ×4
celery ×2
docker ×2
chat ×1
daemon ×1
database ×1
encoding ×1
flocker ×1
json ×1
mongodb ×1
mongoengine ×1
paypal ×1
paypal-ipn ×1
performance ×1
postgresql ×1
python-3.x ×1
supervisord ×1
ubuntu ×1