首页 > 解决方案 > Django:如何在不从数据库中删除优惠券的情况下从订单中删除优惠券?

问题描述

嘿伙计们,我有这个优惠券模型,我需要给它一个删除功能(不是从数据库中删除),如果客户愿意的话,可以从订单中删除优惠券。我怎样才能拥有该功能?如果我使用 delete(),它将从数据库中删除优惠券,并且使用 remove() 会显示属性错误。

模型:

class Coupon(models.Model):
    
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
code = models.CharField(max_length=20)
amount = models.FloatField(max_length=4)
valid_from = models.DateTimeField(null=True)
valid_to = models.DateTimeField(null=True)
max_value = models.IntegerField(validators=[MaxValueValidator(100)], verbose_name='Coupon Quantity', null=True)
used = models.IntegerField(default=0)

谢谢

标签: djangodjango-modelsdjango-viewsdjango-templates

解决方案


只是在外键上取消关系

order.coupon = None
order.save()

推荐阅读