我正在使用Django模型保存用户上传的图像。我希望每个图像都存储在productimage模型中,该模型是产品模型的外键模型,而productmodel模型是用户模型的外键模型。我的意思是:
用户----->产品------>产品图片
我想创建一个productimage模型的新实例,但是由于它是另一个外键的外键,因此似乎无法弄清楚该怎么做。 我不知道如何在要创建的外键中定位外键。例如,我尝试过:
request.user.product.productimage.create()
request.user.product_set.productimage_set.create()
request.user.product.productimage_set.create()
似乎什么也没有创建productimage模型的新实例。
class product(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
product_title = models.CharField(max_length=100, blank=True)
product_price = models.CharField(max_length=30, blank=True)
product_description = models.CharField(max_length=1000, blank=True)
class productimage(models.Model):
product = models.ForeignKey(product, on_delete=models.CASCADE)
product_images = models.FileField(blank=True)
def add(request):
if request.method == "POST":
product_title = request.POST.get("product_title")
product_price = request.POST.get("product_price")
product_description = request.POST.get("product_description")
request.user.product_set.create(product_title = product_title,product_price =product_price, product_description = product_description,)
for file in request.FILES.getlist("filepond"):
product_images = file
request.user.product_set.productimage_set.create()###trying to create a new instance of productimage model for each file
return render(request,"main/add.html")
答案 0 :(得分:1)
您已经在几行之前创建了产品;您只需要使用它即可。
product = request.user.product_set.create(product_title = product_title,product_price =product_price, product_description = product_description,)
for file in request.FILES.getlist("filepond"):
product_images = file
product.productimage_set.create()