پاسخ داده شد
0
0

سلام ، برنامه من پس از اينكه اطلاعات استان و شهر را با Jquery در فرم نمايش دادم ثبت نمي شود ولي اگر از بانك تغذيه گردد اطلاعات ثبت مي شود. مشكل من كجاست.

models.py

class Ostan(django.db.models.Model):
    name = django.db.models.CharField(max_length=20, verbose_name=”استان”)
    def __str__(self):
        return self.name
    class Meta:
        verbose_name = ‘استان’
        verbose_name_plural = ‘استان ها’

class City(django.db.models.Model):
    ostan = django.db.models.ForeignKey(Ostan, on_delete=models.SET_NULL, null=True, verbose_name =’استان’)
    name = django.db.models.CharField(max_length=50,verbose_name =’شهر’)
    def __str__(self):
        return self.name
    class Meta:
        verbose_name = ‘شهر’
        verbose_name_plural = ‘شهرستان’
class Rosta(django.db.models.Model):
    city = django.db.models.ForeignKey(City,blank=True, on_delete=models.SET_NULL, null=True,verbose_name =’شهرستان’)
    name = django.db.models.CharField(max_length=50, verbose_name=”روستا”)
    def __str__(self):
        return self.name
    class Meta:
        verbose_name = ‘روستا’
        verbose_name_plural = ‘دهستان’
class Melk(django.db.models.Model):
    melk_name = django.db.models.CharField(max_length=100, verbose_name=”نام ملک”)
    khayer_name = django.db.models.CharField(max_length=100, verbose_name=”نام واگذارکننده”)
    sanad_asli = django.db.models.CharField(max_length=20, verbose_name=”شماره سند اصلی”)
    sanad_farye = django.db.models.CharField(max_length=20, verbose_name=”شماره سند فرعی”)
    CHOICES1 =(
            (‘عادی’,’عادی’),
            (‘قطعی دفترچه ای’,’قطعی دفترچه ای’),
            (‘قطعی غیرمنقول’,’قطعی غیرمنقول’),
            (‘صلح نامه’,’صلح نامه’),
            (‘وقف نامه’,’وقف نامه’),
            (‘ابتیاعی’,’ابتیاعی’)
            )
    sanad_type = django.db.models.CharField(choices=CHOICES1, max_length=50, verbose_name=”نوع سند واگذاری”)
    CHOICES4 = (
            (‘در حال بهره برداری’, ‘درحال بهره برداری’),
            (‘کشاورزی’, ‘کشاورزی’),
            (‘زمین’, ‘زمین’)

        )
    melk_state = django.db.models.CharField(choices=CHOICES4,max_length=50, verbose_name=”وضعیت کنونی ملک”)
    CHOICES3 = (
            (‘آموزش و پرورش’, ‘ آموزش و پرورش’),
            (‘اوقاف’, ‘اوقاف’),
            (‘دولت’, ‘دولت’),
            (‘آستانه’, ‘آستانه’),
            (‘غیره’, ‘غیره’),

        )
    melk_motavali = django.db.models.CharField(choices=CHOICES3,max_length=100, verbose_name=”متولی ملک”)
    CHOICES2 = (
            (‘آموزشی’, ‘آموزشی’),
            (‘اداری’, ‘اداری’),
            (‘مسکونی’, ‘مسکونی’),
            (‘غیره’, ‘غیره’)

        )
    melk_karbari = django.db.models.CharField(choices=CHOICES2,max_length=50, verbose_name=”نوع کاربری ملک”)
    melk_year = jmodels.jDateField(verbose_name=”سال واگذاری ملک”)
    melk_arseh = django.db.models.CharField(max_length=10, verbose_name=”عرصه ملک”)
    melk_price = django.db.models.CharField(max_length=20, verbose_name=”ارزش ریالی ملک”)
    melk_ayan = django.db.models.CharField(max_length=10, verbose_name=”اعیان ملک”)
    melk_comment = RichTextField(max_length=1000, verbose_name=”توضیحات سند ملک”)
    melk_pic = django.db.models.FileField(blank=True, null=True, verbose_name=”تصویر سند ملک”)
    ostan = django.db.models.ForeignKey(Ostan, on_delete=models.SET_NULL, null=True, verbose_name=”استان”)
    city = django.db.models.ForeignKey(City, on_delete=models.SET_NULL, null=True, verbose_name=”شهرستان”)
    rosta = django.db.models.ForeignKey(Rosta, on_delete=models.SET_NULL, null=True, verbose_name=”روستا”)
    post_code = django.db.models.CharField(max_length=10, verbose_name=”کدپستی”)
    address = django.db.models.CharField(max_length=200, verbose_name=”آدرس ملک”)
    melk_gps = django.db.models.CharField(max_length=100, verbose_name=”موقعیت جغرافیایی ملک”)
    class Meta:
        verbose_name = ‘ملک’
        verbose_name_plural = ‘املاک’
        ordering = [‘sanad_asli’]
    def __str__(self):
        return self.melk_name
    def get_absolute_url(self):
        return reverse(“core:melk_insert”, kwargs={})
//  forms.py

class MelkForm( forms.ModelForm ):

    class Meta:

        model = Melk

        fields = ‘__all__’

        widgets = {

                ‘melk_name’: forms.TextInput( attrs={‘class’:’form-control’} ),

                ‘khayer_name’ : forms.TextInput( attrs={‘class’:’form-control’} ),

                ‘sanad_asli’ : forms.NumberInput( attrs={‘class’:’form-control’} ),

                ‘sanad_farye’: forms.NumberInput( attrs={‘class’:’form-control’} ),

                ‘sanad_type’ : forms.Select( attrs={‘class’:’form-control’} ),

                ‘melk_state’ : forms.Select( attrs={‘class’:’form-control’} ),

                ‘melk_motavali’: forms.Select( attrs={‘class’:’form-control’} ),

                ‘melk_karbari’ : forms.Select( attrs={‘class’:’form-control’} ),

                ‘melk_year’ : forms.DateInput( format=(‘%d-%m-%Y’), 

                    attrs={‘class’:’date-input form-control’,’type’: ‘date’,

                ‘data-provide’: ‘datepicker’,

                ‘data-date-format’: ‘yyyy-mm-dd’,

                } ),

                ‘melk_arseh’: forms.TextInput( attrs={‘class’:’money form-control’} ),

                ‘melk_ayan’ : forms.TextInput( attrs={‘class’:’money form-control’} ),

                ‘melk_price’ : forms.TextInput( attrs={‘class’:’money form-control’} ),

                ‘melk_comment’ : forms.Textarea( attrs={‘class’:’form-control’} ),

                ‘melk_pic’ : forms.FileInput( attrs={‘class’:’form-control’} ),

                ‘ostan’: forms.TextInput( attrs={‘class’:’ir-province form-control’}),

                ‘city’ : forms.TextInput( attrs={‘class’:’ir-city form-control’}),

                ‘rosta’ : forms.TextInput( attrs={‘class’:’form-control’} ),

                ‘post_code’: forms.NumberInput( attrs={‘class’:’form-control’} ),

                ‘address’ : forms.TextInput( attrs={‘class’:’form-control’} ),

                ‘melk_gps’ : forms.TextInput( attrs={‘class’:’form-control’} ),

            }

 

 

views.py

 

def MelkCreateView(request):

    form = MelkForm(request.POST or None, request.FILES or None)

    post = Melk.objects.all()

    sanadasli = request.POST.get(‘sanad_asli’)

    

    if sanadasli !=” or None:

         if post.filter(sanad_asli = sanadasli):

            messages.success(request,”این سند قبلا ثبت شده است”)    

        elif form.is_valid():            

            post = form.save()

            messages.success(request, “ثبت با موفقیت انجام شد…”)

            return django.shortcuts.HttpResponseRedirect(post.get_absolute_url())

context = {

      “form”:form,

      “post”:post,

    }

    return django.shortcuts.render (request, ‘core/melk_insert.html’, context)

 

jquery:
var data={

    “آذربايجان شرقي”:

    [“اسكو”,”اهر”,”ایلخچی”,”باسمنج”,”بستان آباد”,”بناب”,”تبريز”,”تسوج”,”جلفا”,”خسروشهر”,”سراب”,”سهند”,”شبستر”,”صوفیان”,”مراغه”,”مرند”,”ملكان”,”ممقان”,”ميانه”,”هاديشهر”,”هريس”,”هشترود”,”ورزقان”],

    “آذربايجان غربي”:

    [“اروميه”,”اشنويه”,”بوكان”,”تكاب”,”خوي”,”سر دشت”,”سلماس”,”شاهين دژ”,”ماكو”,”مهاباد”,”مياندوآب”,”نقده”,”پلدشت”,”پيرانشهر”,”چالدران”],

    “اردبيل”:

    [“اردبيل”,”خلخال”,”مشگين شهر”,”نمين”,”نير”,”پارس آباد”,”گرمي”],

    “اصفهان”:

    [“آران و بيدگل”,”اردستان”,”اصفهان”,”باغ بهادران”,”تودشک”,”تيران”,”حاجي آباد”,”خميني شهر”,”خوانسار”,”درچه”,”دهاقان”,”زرين شهر”,”سميرم”,”شهرضا”,”عسگران”,”علويجه”,”فلاورجان”,”كاشان”,”مباركه”,”نجف آباد”,”نطنز”,”ورزنه”,”کوهپایه”,”گلپايگان”],

    “ايلام”:

    [“آبدانان”,”ايلام”,”ايوان”,”دره شهر”,”دهلران”,”سرابله”,”مهران”],

    “بوشهر”:

    [“اهرم”,”برازجان”,”بوشهر”,”جم”,”خورموج”,”دير”,”عسلویه”,”كنگان”,”کاکی”,”گناوه”],

    “تهران”:

    [“اسلامشهر”,”باقرشهر”,”بومهن”,”تجريش”,”تهران”,”دماوند”,”رباط كريم”,”رودهن”,”ري”,”شريف آباد”,”شهريار”,”فشم”,”فيروزكوه”,”قدس”,”قرچك”,”كهريزك”,”لواسان”,”ملارد”,”ورامين”,”پاكدشت”,”چهاردانگه”],

    “چهارمحال بختياري”:

    [“اردل”,”بروجن”,”شهركرد”,”فارسان”,”لردگان”,”چلگرد”],

    “خراسان جنوبي”:

    [“بيرجند”,”بشرویه”,”سربيشه”,”فردوس”,”قائن”,”نهبندان”],

    “خراسان رضوي”:

    [“بردسکن”,”تايباد”,”تربت جام”,”تربت حيدريه”,”خلیل آباد”,”خواف”,”درگز”,”سبزوار”,”سرخس”,”طبس”,”طرقبه”,”فريمان”,”قوچان”,”كاشمر”,”مشهد”,”نيشابور”,”چناران”,”گناباد”],

    “خراسان شمالي”:

    [“آشخانه”,”اسفراين”,”بجنورد”,”جاجرم”,”شيروان”],

    “خوزستان”:

    [“آبادان”,”انديمشك”,”اهواز”,”ايذه”,”ايرانشهر”,”باغ ملك”,”بندر امام خميني”,”بندر ماهشهر”,”بهبهان”,”حمیدیه”,”خرمشهر”,”دزفول”,”رامشیر”,”رامهرمز”,”سوسنگرد”,”شادگان”,”شادگان”,”شوش”,”شوشتر”,”لالي”,”مسجد سليمان”,”ملاثانی”,”هنديجان”,”هويزه”],

    “زنجان”:

    [“آب بر”,”ابهر”,”خدابنده”,”خرمدره”,”زنجان”,”قيدار”,”ماهنشان”],

    “سمنان”:

    [“ايوانكي”,”بسطام”,”دامغان”,”سمنان”,”شاهرود”,”گرمسار”],

    “سيستان و بلوچستان”:

    [“ايرانشهر”,”خاش”,”زابل”,”زاهدان”,”سراوان”,”سرباز”,”ميرجاوه”,”چابهار”],

    “فارس”:

    [“آباده”,”اردكان”,”ارسنجان”,”استهبان”,”اقليد”,”بوانات”,”جهرم”,”حاجي آباد”,”خرامه”,”خنج”,”داراب”,”زرقان”,”سروستان”,”سوريان”,”سپيدان”,”شيراز”,”صفاشهر”,”فراشبند”,”فسا”,”فيروز آباد”,”كازرون”,”لار”,”لامرد”,”مرودشت”,”مهر”,”کوار”],

    “قزوين”:

    [“آبيك”,”بوئين زهرا”,”تاكستان”,”قزوين”],

    “قم”:

    [“قم”],

    “کرج”:

    [“اشتهارد”,”طالقان”,”كرج”,”ماهدشت”,”نظرآباد”,”هشتگرد”],

    “كردستان”:

    [“بانه”,”بيجار”,”حسن آباد”,”سقز”,”سنندج”,”صلوات آباد”,”قروه”,”مريوان”],

    “كرمان”:

    [“انار”,”بافت”,”بردسير”,”بم”,”جيرفت”,”راور”,”رفسنجان”,”زرند”,”سيرجان”,”كرمان”,”كهنوج”,”کوهبنان”],

    “كرمانشاه”:

    [“اسلام آباد غرب”,”جوانرود”,”سنقر”,”صحنه”,”قصر شيرين”,”كرمانشاه”,”كنگاور”,”هرسين”,”پاوه”],

    “كهكيلويه و بويراحمد”:

    [“دهدشت”,”دوگنبدان”,”سي سخت”,”ياسوج”,”گچساران”],

    “گلستان”:

    [“آزاد شهر”,”آق قلا”,”راميان”,”علي آباد كتول”,”كردكوی”,”كلاله”,”گرگان”,”گنبد كاووس”],

    “گيلان”:

    [“آستارا”,”املش”,”تالش”,”رشت”,”رودبار”,”شفت”,”صومعه سرا”,”فومن”,”لاهیجان”,”لنگرود”,”ماسال”,”ماسوله”,”منجيل”,”هشتپر”],

    “لرستان”:

    [“ازنا”,”الشتر”,”اليگودرز”,”بروجرد”,”خرم آباد”,”دزفول”,”دورود”,”كوهدشت”,”ماهشهر”,”نور آباد”],

    “مازندران”:

    [“آمل”,”بابل”,”بابلسر”,”بلده”,”بهشهر”,”تنكابن”,”جويبار”,”رامسر”,”ساري”,”قائم شهر”,”محمود آباد”,”نكا”,”نور”,”نوشهر”,”چالوس”],

    “مركزي”:

    [“آشتيان”,”اراك”,”تفرش”,”خمين”,”دليجان”,”ساوه”,”شازند”,”محلات”],

    “هرمزگان”:

    [“بستك”,”بندر جاسك”,”بندر خمیر”,”بندر لنگه”,”بندرعباس”,”حاجي آباد”,”دهبارز”,”قشم”,”قشم”,”كيش”,”ميناب”],

    “همدان”:

    [“اسدآباد”,”بهار”,”رزن”,”ملاير”,”نهاوند”,”همدان”],

    “يزد”:

    [“ابركوه”,”اردكان”,”اشكذر”,”بافق”,”تفت”,”خضرآباد”,”زارچ”,”طبس”,”مهريز”,”ميبد”,”هرات”,”يزد”]

    };

// `data` should be filled with provinces and their cities in json format

$(document).ready(function() {

    $(‘.ir-province’).each(loadProvinces);

    $(‘.ir-province’).change(loadCities);

});

var loadProvinces = function() {

    var element = $(this);

    //element.empty();

    element.append($(‘<option></option>’).attr(‘value’, ’empty’));

    $.each(data, function(province, list) {

        var option = $(‘<option></option>’).attr(‘value’, ‘province’).text(province);

        element.append(option);

    });

};

var loadCities = function() {

    var citySelector = $(this).closest(‘div.ir-select’).find(‘.ir-city’);

    var selectedProvince = $(this).val();

    var cityList = data[selectedProvince];

    citySelector.empty();

    $.each(cityList, function(index, city) {

        var option = $(‘<option></option>’).attr(‘value’, city).text(city);

        citySelector.append(option);

    });

};

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
1
0

سلام دوستان من مشکلم رو حل کردم با روش زیر :

اول اینکه بانک اطلاعاتی من تغذیه نشده بود و لازم بود قبل از ثبت اطلاعات فرم حتما جدول استان و شهر رو که در این فرم با کلید خارجی معرفی شده بودند رو تغذیه کنم .

در گام بعدی از فایل Json استفاده کردم ….

  • شما باید برای ارسال دیدگاه شوید
0
0

سلام و درود

در صورتی که این مشکل حل شده است لطفا راه حل را ارایه دهید تا بقیه دوستان نیز بتوانند استفاده کنند.
موفق باشید

  • شما باید برای ارسال دیدگاه شوید
0
0

سلام دوستان من مشکلم رو حل کردم با روش زیر :

اول اینکه بانک اطلاعاتی من تغذیه نشده بود و لازم بود قبل از ثبت اطلاعات فرم حتما جدول استان و شهر رو که در این فرم با کلید خارجی معرفی شده بودند رو تغذیه کنم .

در گام بعدی از فایل Json استفاده کردم ….

  • شما باید برای ارسال دیدگاه شوید
نمایش 3 نتایج
پاسخ شما

لطفا جهت ثبت نام ابتدا یا ثبت نام کنید.