با سلام من مدنظر داشتم بعد از ثبت اطلاعات shipping صفحه بعدی یه فرم داشته باشیم تا کاربر لاگین شده بتونه یکی از آدرس هایی که ثبت کرده رو انتخاب کنه و متاسفانه خیلی به بن بست خوردم و حدود دو روزه همه جوره باهاش کلنجا رفتم و سناریوهای مختلفی رو امتحان کردم و سایتهای داخلی و خارجی زیادی رو گشتم ولی هنوز به نتیجه نرسیدم شاید حتی یه اشتباه ساده و پیش پا افتاده ست ممنون میشم راهنمایی کنید
این فرم هستش که طبق مدلهای خود استاد طراحی شده , اینجا init رو بازنویسی کردم
class listForm(forms.Form):
user = None
address = forms.ModelChoiceField(queryset=shipping.objects.filter(user=user))
def __init__(self, user, *args, **kwargs):
self.user = user
super().__init__(*args, **kwargs)
و این هم view البته فعلا به اونجاش مرسیدم که کاربر بخواد آدرس رو انتخاب کنه و متدش POST باشه پس کد ساده ست
@login_required
@require_GET
def address_list(request):
form = listForm(request.user)
return render(request, 'address_list.html', {"form": form})
سناریوهای مختلفی رو امتحان کردم مثلا بدون بازنویسی init بدین صورت
@login_required
@require_GET
def address_list(request):
form = listForm()
form.user = request.user
return render(request, 'address_list.html', {"form": form})
ولی خب باز آدرسهای کاربر رو نمایش نمیده تست کردم request.user و غیره رو مشکل از اونا نیست