首页 > 解决方案 > 如何删除重复的变量 django view.py

问题描述

我在查询中得到重复的代码,如何将 2 个变量合并到 1 行

def destroy(self, request, pk=None):
    date_time = datetime.now()
    user = get_object_or_404(User, pk=request.user.id)
    transaction = TransactionVariant.objects.filter(transaction__pk=pk).update(deleted_at=date_time)
    transaction = Transaction.objects.filter(id=pk).update(deleted_at=date_time)
    serializer = TransactionSerializer(transaction, many=True)
    return Response(serializer.data, many=True)

我的模型:

交易.py

class Transaction(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    address = models.TextField()
    status = models.CharField(max_length=100)
    total = models.BigIntegerField()
    phone_number = models.CharField(max_length=10)
    created_at = models.DateTimeField(auto_now_add=True, blank=True)
    updated_at = models.DateTimeField(auto_now_add=True, blank=True)
    deleted_at = models.DateTimeField(null=True, blank=True)

    class Meta:
        db_table = "transaction"

交易变体.py

class TransactionVariant(models.Model):
    transaction = models.ForeignKey(Transaction, on_delete=models.CASCADE)
    variant = models.ForeignKey(Variant, on_delete=models.CASCADE)
    quantity = models.IntegerField(default=0)
    created_at = models.DateTimeField(auto_now_add=True, blank=True)
    updated_at = models.DateTimeField(auto_now_add=True, blank=True)
    deleted_at = models.DateTimeField(null=True, blank=True)

    class Meta:
        db_table = "transaction_variant"

标签: pythondjango

解决方案


推荐阅读