如何通过订单上传付款图片,' querySet'对象没有属性' _Meta'
我无法过滤到上传图片。 我想通过:
orders = order.objects.filter(id = orid,id_profil = id_profil)
获取错误:
'querySet'对象没有属性'_meta'
forms.py
def Detail(request, orid=None):
data = cartData(request)
cartItems = data['cartItems']
id_profil = request.user.profile
orders = Order.objects.filter(id=orid, id_profil=id_profil)
OrderItems = OrderItem.objects.filter(order=orid)
pengirimans = Pengiriman.objects.filter(order=orid)
if request.method == "POST":
form = Uplaodpic(request.POST ,request.FILES ,instance=orders)
if form.is_valid():
form.save()
else:
form=Uplaodpic(instance=orders)
context = {'orders':orders, 'OrderItems':OrderItems, 'pengirimans':pengirimans, 'cartItems':cartItems, 'form':form}
return render(request, 'store/detail.html' ,context)
detial.html
from django.forms import ModelForm
from .models import Order, Profile
class Uplaodpic(ModelForm):
class Meta:
model=Order
fields=["id","bukti"]
模式
<td colspan="2">
<img src="{{ order.buktiURL }}" alt="image" class="img-thumbnail" style="max-height:100px">
</td>
<td colspan="2">
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<input type="Submit" id="submit" name="submit">
</form>
</td>
</tr>
.py
class Order(models.Model):
id_profil = models.ForeignKey(Profile, on_delete=models.SET_NULL, blank=True, null=True)
order_data = models.DateTimeField(auto_now_add=True)
selesai = models.BooleanField(default=False, blank=True, null=True)
status = models.BooleanField(default=False, blank=True, null=True)
id_transaksi = models.CharField(max_length=200, null=True)
bukti = models.ImageField(upload_to='bukti/',default="person-circle.svg",null=True, blank=True)
ongkir = models.CharField(max_length=200, null=True)
total = models.CharField(max_length=200, null=True)
total_harga = models.CharField(max_length=200, null=True)
pembayaran = models.CharField(max_length=200, null=True)
I can't filter to upload pictures.
I want to upload pictures by :
orders= Order.objects.filter(id=orid, id_profil=id_profil)
get error :
'QuerySet' object has no attribute '_meta'
view.py
def Detail(request, orid=None):
data = cartData(request)
cartItems = data['cartItems']
id_profil = request.user.profile
orders = Order.objects.filter(id=orid, id_profil=id_profil)
OrderItems = OrderItem.objects.filter(order=orid)
pengirimans = Pengiriman.objects.filter(order=orid)
if request.method == "POST":
form = Uplaodpic(request.POST ,request.FILES ,instance=orders)
if form.is_valid():
form.save()
else:
form=Uplaodpic(instance=orders)
context = {'orders':orders, 'OrderItems':OrderItems, 'pengirimans':pengirimans, 'cartItems':cartItems, 'form':form}
return render(request, 'store/detail.html' ,context)
forms.py
from django.forms import ModelForm
from .models import Order, Profile
class Uplaodpic(ModelForm):
class Meta:
model=Order
fields=["id","bukti"]
detial.html
<td colspan="2">
<img src="{{ order.buktiURL }}" alt="image" class="img-thumbnail" style="max-height:100px">
</td>
<td colspan="2">
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form.as_p}}
<input type="Submit" id="submit" name="submit">
</form>
</td>
</tr>
modes.py
class Order(models.Model):
id_profil = models.ForeignKey(Profile, on_delete=models.SET_NULL, blank=True, null=True)
order_data = models.DateTimeField(auto_now_add=True)
selesai = models.BooleanField(default=False, blank=True, null=True)
status = models.BooleanField(default=False, blank=True, null=True)
id_transaksi = models.CharField(max_length=200, null=True)
bukti = models.ImageField(upload_to='bukti/',default="person-circle.svg",null=True, blank=True)
ongkir = models.CharField(max_length=200, null=True)
total = models.CharField(max_length=200, null=True)
total_harga = models.CharField(max_length=200, null=True)
pembayaran = models.CharField(max_length=200, null=True)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实例
参数在这里应该是一个对象,而不是QuerySet。从ID
名称来看,您应该使用get
而不是filter
来获取单个对象或失败。因此,您的代码看起来像这样(经过非常基本的格式以使其可读):
instance
parameter here should be a single object, not QuerySet. Judging byid
name, you should be usingget
instead offilter
to fetch a single object or fail. So, your code could look like this (after very basic formatting to become readable):(note that it would be better to spell
Upload
, notUplaod
...)