سلام خسته نباشید
فرض کنید ما یه فرمی داریم که کاربر میتونه هر چقدر بخواد توش اینپوت ایجاد کنه و دیتا وارد کنه
چجوری میشه سمت سرور این تعداد داینامیک رو گرفت بهشون دسترسی داشت؟
ممنون میشم راهنمایی کنید
شما تصور کن یه فرمی داریم که سمت کلاینت، شخص بتونه به غیر از اطلاعات شخصیش، هر چندتا فیلد(اینپوت) که خواست برای شماره تلفن، ارسال کنه، شما باید سمت سرور، دوتا جدول درست کنید، یکی جدولی برای اطلاعات شخص بدون اینپوت شماره تلفن، و بعد یک جدول جدا برای شماره تلفن بسازید، و این دو جدول رو بهم متصل کنید، یک رابطه یک به چند، چون هر جدول اطلاعات میتونه چندین جدول شماره همراه داشته باشه، اما هر جدول شماره همراه فقط میتونه به یک جدول اطلاعات متصل باشه، و بعد شما سمت کلاینت با js اجازه بدید هرچندتا که اینپوت شماره همراه میخواد بسازه، زمان ارسال فرم، باید به ازای هر تعداد اینپوتی که برای جدول شماره همراه ساخته شده، یک جدول شماره همراه سمت سرور بسازه
خب میدونم
الان مشکل به ازای هر تعداد اینوتی هس که میخوام سمت سرور بگیرم
چجوری بهشون دسترسی داشته باشم در حالت عادی من اسمارو میدونم میتونم سمت سرور بگیرم
ولی اگه تعداد مشخص نباشه اسماشم که ندارم
چجوری میتونم همرو ببینم و بهشون دسترسی داشه باشم سمت سرور
سلام وقت بخير
موردي كه هست همه input های شما باید یک اسم داشته باشن مثلا name=value
و سمت view وقتی میخواید بگیریدش به این صورت مینویسید
values = request.POST.getlist(value)
این لیست همه مقادیر ارسالی رو براتون برمیگردونه
اگر print اش کنید خروجیش رو میبینید
میتونید به ایتم هاش دسترسی داشته باشید و عملیات مد نظرتون رو روش انجام بدید
ببین، منظورت اینه که مثلا طرف ده تا اینپوت میسازه، پس ده تا جدول ازش ساخته میشه، خب تو از کجا بفهمی که طرف ده تا ساخته؟ شاید تو اتفاقی هشتاشو ببینی.. اینجا برمیگرده به مسئله cms ، باید بخش ادمین رو طوری بچینی و ویرایش کنی که بتونی وقتی وارد اطلاعات آقای ایکس شدی، هرچی جدول مربوط به این شخص هست داخل همون بخش نشون داده بشه، بذار یه کد من در اوردی بنویسم که برات جا بیوفته:
ما دوتا مدل داریم: Personinputs & Person
مدل پرسن برای اطلاعات شخص، بدون شماره تلفن، مدل پرسن اینپوت برای تعداد اینپوت هایی که شخص برای شماره تلفن ساخته
def adminEditedPage(request):
این مدل اطلاعات شخص هست بدون جدول شماره تلفن، چون ما نمیدونیم طرف چندتا اینپوت شماره تلفن ساخته
person_info_table = Person.objects.filter(name="Mahdi").first()
با این خط کد، گفتیم هرچی اینپوت که آقای مهدی ساخته رو بما بده
person_customized_inputs_info = person_info_table.personinput_set.all()
#حالا ما اطلاعات مهدی رو با همه ی اینپوت هایی که ساخته رو داریم، حالا باید سی ام اسِ جنگو که admin خونده میشه رو ویرایش کنیم که اطلاعات هر شخص با همه ی اینپوت هاش یکجا نمایش داده بشه.
من اصلا کاری با سیو کردن و جدولا ندارم
جوابمو گفتن دوستمون ممنون از راهنماییتون