я следующий код в моем models.py (удалены ненужные поля):Джанго параметры поле с категориями
class Choices(models.Model):
name = models.CharField(max_length=300)
choice_type = models.CharField(max_length=200)
def __unicode__(self):
return self.name
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
planguages = models.ManyToManyField(Choices)
и мой utils.py (изначально из Джанго профилей, это разбор форма):
def get_profile_form():
profile_mod = get_profile_model()
class _ProfileForm(forms.ModelForm):
planguages = forms.ModelMultipleChoiceField(queryset=Choices.objects.all(), required=False, widget=forms.CheckboxSelectMultiple)
class Meta:
model = profile_mod
exclude = ('user',) # User will be filled in by the view.
return _ProfileForm
Теперь, что бы я хотел сделать, это иметь таблицу выбора, которая будет иметь столбцы name
и choice_type
, которые у меня уже есть. Проблема в том, что я действительно не знаю, как я могу привязать опцию к категории и сделать пользователя, когда они создают свой профиль, выбрать язык программирования или фреймворк, основанный на выборе в choice_type
.
Я предполагаю, что это будет связано с некоторыми JS, но это не такая уж большая проблема, как код django.
вы можете расширить это мало? вы хотите ограничить пользователя выбором из определенных категорий на основе plang? – Thomas
@ Томас нет, это наоборот. Я хочу, чтобы пользователь мог выбирать языки программирования и рамки, с которыми они имеют опыт. 'choice_type' будет иметь следующие возможности: язык программирования, язык разметки/сценариев, фреймворк. Итак, я хочу ограничить определенные варианты (например, 'name') определенными категориями (то есть' choice_type'). – Milos
где вы храните данные о том, с чем они имеют опыт? – Thomas