我需要根据状态进行删除和更新



我需要根据状态进行删除和更新。

以下是型号:

class Purchases(TimeStampedModel):
APROVADO = "AP"
EM_VALIDACAO = "VA"
STATUS_CHOICHES = (
(APROVADO, "Aprovado"),
(EM_VALIDACAO, "Em validação"),
)
values = models.DecimalField(decimal_places=2, max_digits=10, default=0)
cpf = BRCPFField("CPF")
status = models.CharField(max_length=20, choices=STATUS_CHOICHES, default=EM_VALIDACAO)

我正试图在我的视图集中这样做:

def get_queryset(self):
qs = super().get_queryset()
if self.action in ("update", "parcial_update", "delete"):
qs.filter(Purchases.status=="VA")
return qs

然而,他仍然允许编辑具有批准状态的订单。只能删除或编辑购买状态为";在"验证"中;

有人能帮我吗?

qs.filter(…)[Django-doc]不过滤查询集qs。它构造了一个新的查询集,该查询集是qs的过滤变体。

因此,您应该返回已过滤的查询集,或者将结果分配给qs:

def get_queryset(self):
qs = super().get_queryset()
if self.action in ('update', 'parcial_update', 'delete'):
returnqs.filter(Purchases.status=='VA')
return qs

相关内容

  • 没有找到相关文章

最新更新