在父对象上创建foreignkey对象实例Create Djang

2024-10-01 15:33:02 发布

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

型号.py

class Req(models.Model):
    name = models.CharField(max_length=200)

    # fileup is a csv of 6 digit barcodes
    fileup = models.FileField(upload_to='uploads/')

class ReqBarcodes(models.Model):
    barcode = models.CharField(max_length=6)
    req = models.ForeignKey(Req, on_delete=models.CASCADE)

当用户上传他们的csv时,我想为csv文件中包含的所有条形码创建ReqBarcodes实例,类似于on\u delete CASCADE,但类似于on\u create CASCADE。我的猜测是,我需要在Req model类中定义一个自定义的init方法。如果是的话,我能在里面执行csv验证吗?如果验证失败,会创建任何一个类实例吗?我不希望创建类,我将重定向用户以重试

在这一点上,我还使用了一个通用的create视图。我可以修改这个视图吗,还是需要编写一个完全自定义的视图

视图.py

class RequestCreate(CreateView):
    model = Request
    fields = ['name', 'upload']
    success_url = reverse_lazy('requests:index')

Tags: csvnamepy视图modelonmodelsreq

热门问题