在父创建 - Django上创建foreignkey对象实例

时间:2017-06-02 16:00:21

标签: python django

models.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_delete CASCADE,但是像on_create CASCADE。我的猜测是我需要在Req模型类中定义一个自定义的 init 方法。如果是这样,我可以在其中执行csv验证吗?如果验证失败,是否会创建类实例?我不希望创建类,我将重定向用户再试一次。

此时我也在使用通用的创建视图。我可以修改此视图,还是需要编写完全自定义的视图?

views.py

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

0 个答案:

没有答案