Django форма с выбором модели заполнена
У меня проблема с формой в django. Я создал модель формы, но он не сохраняет поле выбора в базу данных. Форма сохраняет только заголовок (CharField). Я создал функцию, которая решает проблему, но я думаю, что она плохая и может быть написана намного лучше. Есть помощь?
models.py
TOPIC_CAT = [
('WEL', 'Spawlnictwo'),
('DIY', 'Majsterkowanie'),
('ELE', 'Elektryka'),
('IT', 'Informatyka'),
('CAT', 'Stolarstwo'),
]
class Topic(models.Model):
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
categories = models.CharField(max_length=3, choices=TOPIC_CAT)
def __str__(self):
return self.text
forms.py
class NewTopic(forms.ModelForm):
class Meta:
model = Topic
fields = ['text', 'categories']
labels = {'text':'Nazwa tematu', 'categories': 'Kategoria'}
views.py
def new_topic(request):
if request.method=='POST':
form = Search(data=request.POST)
if form.is_valid():
new_topic = form.save(commit=False)
new_topic.categories = request.POST.get('categories')
new_topic.save()
return redirect('forum:topics_in_category', category=cat)
else:
form = NewTopic()
context = {'form': form}
return render(request, 'forum/new_topic.html', context)
Вторая проблема - это форма поиска. Я хочу, чтобы поле поиска было видно все время, как на сайте stackoverflow, но не знаю как. Уже сделал кнопку, которая открывает новый сайт с формой.