Как сделать выпадающий список, который может отправлять данные в Django (в Models) с помощью Kivymd?

Я нашел рецепт, как сохранить результаты в переменную, используя инструкции в документации KivyMD, но некоторые коды, представленные там, не работают в моем редакторе. Итак, используемые мной версии: «python 3.11», „kivymd версии 1.2.0“ и модуль MDDropDownItemText, который мне нужно использовать, не включен в kivymd. По этой причине я не могу присвоить элементам специальные идентификаторы и сохранить выбранные значения в переменную. Что здесь можно сделать?

Моей целью было записать, является ли пользователь мужчиной или женщиной, в модели, которую я создал в Django. И я подумал, что смогу сделать это, передав результат из выпадающего списка в переменную. Я попытался следовать инструкциям в документации Kivymd, но столкнулся с результатами, о которых я говорил выше. Документация KivyMD: text

Этот вопрос возник из-за того, что я искал не в том месте. Я оставляю его ниже, чтобы кто-то мог удовлетворить свои потребности (на всякий случай).

from kivy.lang import Builder
from kivy.metrics import dp
from kivymd.app import MDApp
from kivymd.uix.menu import MDDropdownMenu

KV = '''
MDScreen:

   MDRaisedButton:
       id: button
       text: "Press me"
       pos_hint: {"center_x": .5, "center_y": .5}
       on_release: app.menu_open()
'''


class Test(MDApp):
   def menu_open(self):
       menu_items = [
           {
               "text": f"Item {i}",
               "on_release": lambda x=f"Item {i}": self.menu_callback(x),
           } for i in range(5)
       ]
       MDDropdownMenu(
           caller=self.root.ids.button, items=menu_items
       ).open()

   def menu_callback(self, text_item):
       print(text_item)

   def build(self):
       self.theme_cls.primary_palette = "Orange"
       self.theme_cls.theme_style = "Dark"
       return Builder.load_string(KV)


Test().run()

Более подробные данные содержатся в документации: введите описание ссылки здесь

Вернуться на верх