Допустим, я беру следующий код из документации Django:
class Student(models.Model):
FRESHMAN = 'FR'
SOPHOMORE = 'SO'
JUNIOR = 'JR'
SENIOR = 'SR'
YEAR_IN_SCHOOL_CHOICES = (
(FRESHMAN, 'Freshman'),
(SOPHOMORE, 'Sophomore'),
(JUNIOR, 'Junior'),
(SENIOR, 'Senior'),
)
year_in_school = models.CharField(
max_length=2,
choices=YEAR_IN_SCHOOL_CHOICES,
default=FRESHMAN,
)
Но вместо этого я хочу сделать:
from student_app import choices
class Student(models.Model):
year_in_school = models.CharField(
max_length=2,
choices=choices.YEAR_IN_SCHOOL_CHOICES,
default=choices.FRESHMAN,
)
Есть ли в любом случае использование отражения, чтобы определить, какой модульварианты импортируются из?
Например:
field = Student._meta.fields.get_field_by_name('year_in_school')
choices_source = some_clever_function(field)
print("Choices imported from '%s'" % choices_source)
Я хочу, чтобы выходные данные были:
Варианты, импортированные из 'student_app'.
Очевидно, что умная функция не существует, но, надеюсь, проясняет, что я пытаюсь сделать.
Спасибо