fix: wpr change_or_new时根据number获取最后一个
This commit is contained in:
parent
a0ed107491
commit
76cdd08e9a
|
@ -28,6 +28,7 @@ class Wpr(BaseModel):
|
||||||
wm = models.ForeignKey("wpm.wmaterial", verbose_name="车间物料", on_delete=models.CASCADE, null=True, blank=True)
|
wm = models.ForeignKey("wpm.wmaterial", verbose_name="车间物料", on_delete=models.CASCADE, null=True, blank=True)
|
||||||
oinfo = models.JSONField(verbose_name="其他信息", default=dict, blank=True)
|
oinfo = models.JSONField(verbose_name="其他信息", default=dict, blank=True)
|
||||||
wpr_from = models.ForeignKey("self", verbose_name="来源于", on_delete=models.CASCADE, null=True, blank=True)
|
wpr_from = models.ForeignKey("self", verbose_name="来源于", on_delete=models.CASCADE, null=True, blank=True)
|
||||||
|
data = models.JSONField(verbose_name="数据", default=dict, blank=True)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def change_or_new(cls, wpr=None, number=None, mb=None, wm=None, old_mb=None, old_wm=None, ftest=None, wpr_from=None, add_version=True):
|
def change_or_new(cls, wpr=None, number=None, mb=None, wm=None, old_mb=None, old_wm=None, ftest=None, wpr_from=None, add_version=True):
|
||||||
|
@ -43,7 +44,7 @@ class Wpr(BaseModel):
|
||||||
wpr.delete()
|
wpr.delete()
|
||||||
return
|
return
|
||||||
elif number:
|
elif number:
|
||||||
ins_x = cls.objects.filter(number=number).order_by("-version").first()
|
ins_x = cls.objects.filter(number=number).order_by("-update_time").first()
|
||||||
if ins_x:
|
if ins_x:
|
||||||
if ins_x.wm is None and ins_x.mb is None:
|
if ins_x.wm is None and ins_x.mb is None:
|
||||||
if ins_x.version > 1: # 说明被复用了
|
if ins_x.version > 1: # 说明被复用了
|
||||||
|
|
|
@ -29,7 +29,7 @@ class WprViewSet(CustomListModelMixin, RetrieveModelMixin, CustomGenericViewSet)
|
||||||
}
|
}
|
||||||
ordering = ["number", "create_time"]
|
ordering = ["number", "create_time"]
|
||||||
ordering_fields = ["number", "create_time", "update_time"]
|
ordering_fields = ["number", "create_time", "update_time"]
|
||||||
search_fields = ["number", "material__name", "material__model", "material__specification"]
|
search_fields = ["number", "material__name", "material__model", "material__specification", "number_out"]
|
||||||
|
|
||||||
def filter_queryset(self, queryset):
|
def filter_queryset(self, queryset):
|
||||||
qs = super().filter_queryset(queryset)
|
qs = super().filter_queryset(queryset)
|
||||||
|
|
Loading…
Reference in New Issue