Django Автозаполнение Light ... PK против поля дисплея - PullRequest
0 голосов
/ 05 мая 2020

Я использую DAL, чтобы предоставить выпадающий список для выбора, например:

class OccupationsModel(models.Model):
    Occupation_Code            = models.CharField(max_length = 20, primary_key=True)
    Occupation_Title           = models.CharField(max_length = 150, unique=True)
    Occupation_Desc            = models.CharField(max_length = 1000)

    class Meta:
        db_table = 'Occupation_Info'

    def __str__(self):
        return self.Occupation_Title

Обратите внимание, что код занятия - это мой ПК, в то время как я использую str , чтобы отобразить Activity_title в качестве дисплея. В основном все работает нормально, но затем я использую экземпляр для предварительного заполнения формы, заголовок не отображается. Поле формы пустое. У меня есть другие похожие модели, в которых ПК такой же, как дисплей, и они работают нормально. Так что я почти уверен, что чего-то здесь не хватает.

Вот мой вид DAL:

class OccCreateView(CreateView):
    model           = OccupationsModel
    template_name   = 'dashboard/input_page.html'
    form_class      = InputForm


class occautocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):

        qs = OccupationsModel.objects.all().order_by('Occupation_Code')     

        # Don't forget to filter out results depending on the visitor !
        if not self.request.user.is_authenticated:                    
            qs = qs[:3] 
            if self.q:
                qs = qs[:3]  

        if self.q:
            qs = qs.filter(Occupation_Title__icontains = self.q) 

        return qs

Вот моя форма:

    def miscuserinfo_view(request):  
        misc_user_info = MiscUserInfoModel.objects.get(user = request.user.id)
        if request.method == 'POST':      
            if form.is_valid():
                obj = form.save(commit=False)
                # do something here with the form      
                obj.save()
                return HttpResponseRedirect(reverse('registration:userprofile'))
        else:     # Pre-populate with existing data that user entered before
            form = MiscUserInfoForm(instance = misc_user_info)
        return render(request, "registration/miscinfo_page.html", {'form': form})

И вот что я вижу:

enter image description here

Любая помощь приветствуется. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...