Я сделал поле выбора для файла HTML с помощью этого простого кода:
MY_CHOICES = (
('0', 'Johnny B. Goode'),
('1', 'Lightning McQueen'),
('2', 'Iron Man'),
)
def get_student():
student_data = MY_CHOICES
student_list = student_data
return student_list
def get_my_students():
student_list = get_student()
choices_list = student_list
return choices_list
class studentForm(forms.Form):
def __init__(self, *args, **kwargs):
super(studentForm, self).__init__(*args, **kwargs)
self.fields['my_students_field'] = forms.ChoiceField(choices=get_my_students())
def get_data(request):
form = studentForm()
if form:
print('form')
return render_to_response('bills/generator.html',{'form': form})
else:
return print('no Form')
Моя проблема сейчас в том, что MY_CHOICES - это обычный кортеж с некоторыми аргументами, которые отображаются на мой взгляд, ноЯ хочу взять объекты, которые хранятся в другом приложении под названием «Студенты» (хотят экспортировать «имя_первое имя» + «имя_последовательности») вместо записей в MY_CHOICES.Объекты хранятся в этом классе:
class Student(models.Model):
first_name = models.CharField(_(u'Vorname'),max_length=30)
last_name = models.CharField(_(u'Nachname'),max_length=30)
teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE)
location = models.ForeignKey(Location, on_delete=models.CASCADE)
postal_code = models.CharField(_(u'Postleitzahl'),max_length=30)
city = models.CharField(_(u'Ort'),max_length=30)
def __str__(self):
return "%s %s" % (self.first_name, self.last_name)
Так что я ищу некий стратегический способ, как решить эту проблему.Надеюсь, кто-нибудь может дать мне подсказку.