- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
以下代码位于 Django 信号中,当副本数为“2”时,以下代码创建 80 多个副本,然后崩溃......出了什么问题?
def internal_signal(sender, instance, signal, created, *args, **kwargs):
for i in range(instance.number_of_copies):
item_copy = deepcopy(instance)
item_copy.id = item_copy.id + 1
item_copy.internal_barcode = "%s"%(item_copy.item_location.location_code)
item_copy.save()
post_save.connect(internal_signal, sender=Inventory)
谢谢。
编辑:呃!发现问题了,上面的代码是Django信号的post_save操作的一部分,所以每次“保存”都会触发另一个循环,然后堆崩溃。
以编程方式创建“n”个对象并将其保存在 Django 中的最佳方法是什么?
最佳答案
这是我的测试代码,它的性能符合预期。我认为你应该进行单元测试来找出问题所在。别管 Django 了!
class T:
def save(this):
pass
from copy import deepcopy
from copy import copy
instance = T()
instance.number_of_copies = 2
instance.id = 1
instance.item_location=T()
instance.item_location.location_code = 2
for i in range(instance.number_of_copies):
item_copy = deepcopy(instance)
item_copy.id = item_copy.id + 1
item_copy.internal_barcode = "%s"%(item_copy.item_location.location_code)
item_copy.save()
print " id,code:",item_copy.id,item_copy.internal_barcode
关于post_save 信号中的 Python 深度复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109297/
考虑以下: class OrderForm(models.Model): title = models.CharField(max_length=100) desc = models
我有一个专门与管理员一起使用的应用程序。 我想在每次创建/修改新对象时发送一封电子邮件,从我的搜索来看,使用 post_save 似乎是最好的方法。 不幸的是,文档对此并不太清楚...... 有人可以
我有一个 post_save所有对象(不仅是我的应用程序)的信号,我在其中创建了一个 SignalInfo (此模型来自我的应用程序)对象,将有关创建/编辑对象的信息放入其中并保存。在我开始使用南迁移
我正在应用 post_save 信号来为每个对象应用用户权限,然后相应地过滤查询集。 我的模型是这样的: class Project(models.Model): # Relations wi
阅读文档后, https://docs.djangoproject.com/en/dev/topics/signals/ 我在我的signals.py文件中创建了这个: from django.db.
我需要在 Entry 的新实例时发送电子邮件模型是通过管理面板创建的。所以在 models.py我有: class Entry(models.Model): attachments = m
我有以下代码: @receiver(post_save, sender=SomeModel, dispatch_uid="build") def handle_creation(sender, ins
我已经编写了一些 API,它们各自的功能在事务 block 内执行。我调用save()一个/几个模型的实例上的方法(经过一些修改),并且还在中连续索引了该实例的一些JSON相关信息 Elasticse
我有一个名为 EmailUser 的自定义用户模型我正在尝试在 post_save 上分配自定义模型权限。我在 models.py 中有以下信号 @receiver(post_save, sender
我的模型位于单独的文件中: models \ |__init__.py |event.py |a_thing.py |... 在 __init__.py 中,我导入每个模型,然后设置信号处理。
我有一个个人资料模型,其中包含作为外国关键领域的经验和教育。当我访问个人资料模板时,它会抛出异常。 我尝试过 post_save, def create_education(sender, insta
Django 的 post_save 信号对使用多表继承的模型表现得很奇怪 当使用具有多表继承的模型时,我注意到 Django 的 post_save 信号的工作方式有一个奇怪的行为。 我有这两个模型
我有三个模型:User(来自django.contrib.auth.models)、UserProfile和GameCharacter >. 我设置了以下接收器,以便在创建User时,也会自动创建Us
所以我正在使用 django-simple-history 模块来跟踪模型实例中的变化。但是,它使用 post_save 信号来执行此操作。在我的项目中,我还需要它在 update() 上触发。 我的
所以我阅读了 Django 源代码(1.5 后),您现在可以将多个信号注册到接收器函数: def receiver(signal, **kwargs): """ A decorator
我有一个like 功能,就像社交网络的like 或thumbs up 功能一样;用户点击星号/心形/任何东西来标记喜欢的内容。这是用 ajax 完成的,必须很快。 这里唯一的问题是,由于某些原因,我必
我需要对 Django 中新创建的对象进行一些后台后处理。此后处理应仅在新对象上运行,而不是刚刚更新的对象。 我知道在 pre_save 中我可以检查对象是否有 id,如果没有则它是一个新对象。但问题
docs说: post_save django.db.models.signals.post_save created A boolean; True if a -new- record was cr
模型.py from django.db import models from django.db.models.signals import post_save from django.dispat
以下代码位于 Django 信号中,当副本数为“2”时,以下代码创建 80 多个副本,然后崩溃......出了什么问题? def internal_signal(sender, instance, s
我是一名优秀的程序员,十分优秀!