将一个函数的输出存储在Djang的另一个函数中

2024-09-30 06:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数打包器,它的输出是我试图保存在DispatchPlan中,如下所示:

for i in range(len(truck_objects)):

    DispatchPlan.objects.create(owner=request.user, comments="Autogenerated", truck_type=open_object,
                                truck_name=truck_objects[i], origin=k.split("-")[0],
                                destination=k.split("-")[1], total_trucks=1, material_type='Non-Fragile',
                                scheduled_date=item_date, offered_price=0, weight=item_weight_sum,
                                status='Hold', etd=open_etd_temp, route_link=route_map, eta=item_date,
                                route_distance=temp_distance, route_tat=temp, pk=new_quiz.id)

这里是:

[<truck_name: Tempo 407 2500>, <truck_name: Tempo 407 2000>]

但是现在有另一个输出来自包装机,即主值,它包含每辆卡车中包装的物品。你知道吗

主值

[{<Truckdb: Truckdb object (3)>: [<ItemBatch: Chains & Chain Link Fence Fittings>, <ItemBatch: Chains & Chain Link Fence Fittings>]}, {<Truckdb: Truckdb object (2)>: [<ItemBatch:
Chains & Chain Link Fence Fittings>, <ItemBatch: Chains & Chain Link Fence Fittings>]}]

现在,如何在DispatchPlan中保存此主值?你知道吗

我可以想到的一种方法是嵌套循环,通过在DispatchPlan模型中创建一个ArrayField,将整个列表存储在一辆卡车上。有没有其他方法可以存储这些数据?你知道吗

你知道吗型号.py你知道吗

class DispatchPlan(models.Model):
    bid_status_choices = (
        ('Hold', 'Hold'), ('Active', 'Active'), ('Assigned', 'Assigned'), ('Dispatched', 'Dispatched'),
        ('Delayed', 'Delayed'), ('Delivered', 'Delivered'))
    mtypes = (('Fragile', 'Fragile'), ('Non-Fragile', 'Non-Fragile'))

    owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name='dispatch_quizzes')
    comments = models.TextField(max_length=256)
    truck_type = models.ForeignKey(truck_type, on_delete=models.CASCADE, related_name='dispatch_type')
    truck_name = models.ForeignKey(truck_name, on_delete=models.CASCADE, related_name='dispatch_name')
    origin = models.CharField(max_length=255, default=0)
    destination = models.CharField(max_length=255, default=0)
    total_trucks = models.IntegerField(default=0)
    material_type = models.CharField(max_length=255, default=0, choices=mtypes)
    scheduled_date = models.DateTimeField(max_length=255, default=0)
    offered_price = models.IntegerField(default=0)
    weight = models.IntegerField(default=0)
    status = models.CharField(max_length=255, default='Active', choices=bid_status_choices)
    created_on = models.DateTimeField(auto_now_add=True)
    route_distance = models.IntegerField(default=0)
    route_tat = models.CharField(max_length=255, default=0)
    etd = models.DateTimeField(default=timezone.now)
    eta = models.DateTimeField(default=timezone.now)
    route_link = models.CharField(max_length=255, default=0)

Tags: namedefaultdatemodelstypestatusroutelength

热门问题