Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 35

Django - Ругается поле формы при создании объекта

02.06.2016, 13:01. Показов 1000. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
models.py

Python
1
2
3
4
5
6
7
8
9
10
class Location(models.Model):
        name = models.CharField(max_length=100, verbose_name=u"Локация", default=u'')
        country = models.ForeignKey("Country")
    
    class Country(models.Model):
        name = models.CharField(max_length=50, verbose_name=u"Страна")
    
    class Photo(models.Model):
        location = models.ForeignKey(Location, null=True, verbose_name=u'Фото')
        photo = models.ImageField(upload_to='photos', null=True)
forms.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class LocationForm(forms.ModelForm):
    
    class Meta:
        model = Location
        fields = ['name', 'country']
    
    
    photos = MultiFileField(min_num=1, max_num=10)
    
    def save(self, commit=True):
        instance = super(LocationForm, self).save(commit)
        for each in self.cleaned_data['photos']:
            Photo.objects.create(photo=each, location=instance)
    
        return instance
views.py

Python
1
2
3
4
5
6
7
8
9
class AddLocationPageView(CreateView):
        model = Location
        form_class = LocationForm
        template_name = 'add_location.html'
    
    class BrowseLocationsPageView(ListView):
        model = Country
        context_object_name = 'countries'
        template_name = "browse_locations.html"
add_location.html

HTML5
1
2
3
4
<form action="" method="POST">{% csrf_token %}
                {{ form|crispy }}
                <button class="btn btn-default" type="submit">Add</button>
    </form>
browse_locations.html

HTML5
1
2
3
 {% for country in countries %}
                {{ country }}
    {% endfor %}
При создании объекта Location поле формы Страна ругается:
"Select a valid choice. That choice is not one of the available choices."

Разумеется у меня нет никаких чойсов, так как замысел такой, что при отсутствии страны в БД она должна создаваться в момент создания Локации, а при наличии (допустим кто-то уже создал какую-то локацию с такой страной) - привязываться к Локации.

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2016, 13:01
Ответы с готовыми решениями:

Поле по умолчанию при создании объекта в Django Rest Framework
Добрый день. Делаю запрос на создание объекта через POST, при выполнении запроса объект создается, но поле ManyToManyField не ставится...

Как получить вычисляемое поле при создании объекта через DRF?
Добрый день, уважаемые. Подскажите, пожалуйста, как мне в методе create создать вычисляемое поле? Ну то есть при получении данных из...

Ошибка при создании нового документа: Поле объекта не обнаружено (srcElement)
Здравствуйте. Создаю программно новый документ ЭлектронноеПисьмо. Нужно передать текст письма, который заполняется в элементе формы...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2016, 13:01
Помогаю со студенческими работами здесь

Хочу чтоб при создании нового документа реквизиту присваивалось значение по умолчанию-Поле объекта недоступно для записи
Хочу чтоб при создании нового документа реквизиту присваивалось значение по умолчанию Вид Цены и Склад Вот код (обычная форма) ...

Какое поле формы Django применить?
Здравствуйте. Помогите стилизовать поле. models.py class Blog(models.Model): title = models.CharField(max_length = 100,...

В экземпляре объекта не задана ссылка на объект при динамическом создании объекта
Выдается ошибка NullReferenceException в private void button2_Click(object sender, EventArgs e) { ...

Ругается на синтаксис при создании триггера
Добрый день. Создаю триггер для хранения истории изменения цен на продукты - база данных CMS-ки ВебАсист кстати. Код : CREATE...

Ругается на неизвестное имя, при создании файла
Добрый день, во время выполнения программы, начал ругаться на неизвестное имя. До того файл делал типа text. Но для сортировки необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru