Questions tagged «django-signals»

10
TransactionManagementError“使用信号时,您只能在'atomic'块的末尾才能执行查询”,但仅限于单元测试期间
尝试保存Django用户模型实例时,我收到TransactionManagementError,并在其post_save信号中,保存了一些将用户作为外键的模型。 使用信号时,上下文和错误与此问题django TransactionManagementError非常相似 但是,在这种情况下,错误仅在单元测试时发生。 它在手动测试中效果很好,但是单元测试失败。 有什么我想念的吗? 以下是代码片段: views.py @csrf_exempt def mobileRegister(request): if request.method == 'GET': response = {"error": "GET request not accepted!!"} return HttpResponse(json.dumps(response), content_type="application/json",status=500) elif request.method == 'POST': postdata = json.loads(request.body) try: # Get POST data which is to be used to save the user username = postdata.get('phone') password …

5
Django信号与覆盖保存方法
我无法解决这个问题。现在我有一些看起来像这样的模型: def Review(models.Model) ...fields... overall_score = models.FloatField(blank=True) def Score(models.Model) review = models.ForeignKey(Review) question = models.TextField() grade = models.IntegerField() 一个Review是有几个“分数”,总体分数是分数的平均值。保存评论或分数后,我需要重新计算total_score平均值。现在,我正在使用重写的保存方法。使用Django的信号分配器会有好处吗?

8
将我的signals.py文件保留在Django项目中的正确位置
根据我正在阅读的Django文档,似乎signals.py在app文件夹中是一个不错的起点,但是我面临的问题是,当我为创建信号pre_save并尝试从模型中导入类时,它与import在我的模型中。 # models.py from django.contrib.auth.models import User from django.db import models from django.utils.translation import gettext as _ from signals import * class Comm_Queue(CommunicatorAbstract): queue_statuses = ( ('P', _('Pending')), ('S', _('Sent')), ('E', _('Error')), ('R', _('Rejected')), ) status = models.CharField(max_length=10, db_index=True, default='P') is_html = models.BooleanField(default=False) language = models.CharField(max_length=6, choices=settings.LANGUAGES) sender_email = models.EmailField() …

5
Django post_save()信号实现
我有一个关于django的问题。 我这里有许多对多模型 class Product(models.Model): name = models.CharField(max_length=255) price = models.DecimalField(default=0.0, max_digits=9, decimal_places=2) stock = models.IntegerField(default=0) def __unicode__(self): return self.name class Cart(models.Model): customer = models.ForeignKey(Customer) products = models.ManyToManyField(Product, through='TransactionDetail') t_date = models.DateField(default=datetime.now()) t_sum = models.FloatField(default=0.0) def __unicode__(self): return str(self.id) class TransactionDetail(models.Model): product = models.ForeignKey(Product) cart = models.ForeignKey(Cart) amount = models.IntegerField(default=0) 对于创建的1个购物车对象,我可以插入尽可能多的新TransactionDetail对象(产品和金额)。我的问题是。如何实现触发器?我想要的是每当创建交易明细时,我希望产品的存货数量减去交易明细中的数量。 …

10
django-保存之前比较新旧字段值
我有一个django模型,在保存之前,我需要比较字段的新旧值。 我已经尝试过save()继承和pre_save信号。它已正确触发,但是我找不到实际更改的字段的列表,也无法比较新旧值。有一种方法?我需要它来优化预保存动作。 谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.