Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
1

Django 1.4: добавить поля в модель

14.06.2012, 19:51. Показов 3170. Ответов 4
Метки нет (Все метки)

всем привет. была модель

модель
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from django.db import models
from django.contrib import admin
 
class BlogCategory(models.Model):
    category = models.CharField(max_length=100) #  
    def __unicode__(self):
        return self.category
        
class BlogPost(models.Model):
    category=models.ForeignKey(BlogCategory)
    title = models.CharField(max_length=100) #  
    post_preview=models.TextField(max_length=100000) #  
    post=models.TextField(max_length=100000) #  
    date = models.DateField() #   
    def __unicode__(self):
        return self.title
                
admin.site.register([BlogCategory,BlogPost])

синхронизированная с базой данных. блог работал все читалось.

добавил новое поле в модель, в класс BlogPost
Python
1
image = models.DateField() #
синхронизировал, все норм. открываю страницу блога, получаю ошибку
Python
1
no such column: blog_blogpost.image
но судя команде sqlall она в таблице есть?
консоль
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@ilnur-VirtualBox:/home/django-projects/ilnurgi_ru/apps# python manage.py sqlall blog
BEGIN;
CREATE TABLE "blog_blogcategory" (
    "id" INTEGER NOT NULL PRIMARY KEY,
    "category" VARCHAR(100) NOT NULL
)
;
CREATE TABLE "blog_blogpost" (
    "id" INTEGER NOT NULL PRIMARY KEY,
    "category_id" INTEGER NOT NULL REFERENCES "blog_blogcategory" ("id"),
    "title" VARCHAR(100) NOT NULL,
    "post_preview" text NOT NULL,
    "post" text NOT NULL,
    "date" DATE NOT NULL,
    "image" DATE NOT NULL
)
;
CREATE INDEX "blog_blogpost_42dc49bc" ON "blog_blogpost" ("category_id");
COMMIT;

что я делаю не так?

спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2012, 19:51
Ответы с готовыми решениями:

Как добавить изображение в модель Django?
Как добавить изображение в модель Django? Если я в модели добавляю: image =...

Добавить новые поля в модель User
Не получается добавить в базу данных новые поля для модели User. Использую devise, ...

Сделать read only поля в админке Django
Не могу разобраться как сделать read only поля в админке в django. class...

Django редактирование поля в базе данных
только начинаю изучать джанго,разобрался с добавлением в базу данных через форму полей и выводом их...

4
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
14.06.2012, 19:54 2
ilnurgi, syncdb не добавляет новые поля в модели. Проверьте наличие этого столбца в таблице и убедитесь.
1
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
14.06.2012, 19:57  [ТС] 3
Цитата Сообщение от ilnurgi Посмотреть сообщение
"image" DATE NOT NULL
а вот это тогда что? я просто с базами пока не работал никогда

Добавлено через 1 минуту
везде пишут что syncdb не добавляет полей в таблицу. но обычно везде пишут по джанге 1.1
думал может в 1.4 есть продвижения по этому вопросу.

не подскажите, как вручную можно добавить?
я юзаю sqlite3

спасибо
0
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
14.06.2012, 20:00 4
sqlall выводит код для добавления текущей модели в базу данных. syncdb проверяет наличие этой модели в базе данных, и, если она существует, просто забивает на добавление. С одной стороны правильно, это может ненароком поломать всю базу.
Есть 2 варианта: ручками или south. В любом случае сделайте дамп базы.
1
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
14.06.2012, 20:01  [ТС] 5
спасибо.
пойду почитаю про ручки и south
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2012, 20:01

Добавить скрипт на php на Django-сайт
Здравствуйте! 1. Есть сайт на питоне. Я в питоне не шарю. 2. Есть скрипт на php (Автономный...

Django. Заполнение новыго поля (в базе) данными из старого
Здравствуйте. В базе есть поле Название товаров, в котором уже много записей. Затем было добавлено...

Как изменить значение поля модели при нажатии кнопки, django?
Модель имеет поле BooleanField(default = False). Как изменить это поле в True при нажатии кнопки?

Добавить в профиль пользователя ссылки на созданные им Activities (Админка Django)
Есть такая модель class Activities(models.Model): activities_user =...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru