Я так и не смог себя заставить изучить Алхимию. Не лезет в голову то, что разум трактует как избыточное. А использование Django-orm в не веб проектах раздражало. Пишешь какой-нибудь парсер приходится захламлять папку целиковой джанга-структурой.
Так вот, наконец-то я выделил время и разобрался-таки, как засунуть всю конфигурацию django orm в один файлик. Делюсь сей радостью :)
Всего один файлик models.py:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from django.conf import settings
settings.configure(
DATABASE_ENGINE = 'sqlite3',
DATABASE_NAME = 'var/db.sqlite',
)
from django.db import models
class Person(models.Model):
nick = models.CharField(max_length=100, unique=True)
email = models.EmailField(max_length=100, unique=True)
def __unicode__(self):
return self.nick
class Meta:
app_label = ''
def create_table(cls):
from django.db import connection
from django.core.management.color import no_style
sql, references = connection.creation.sql_create_model(cls, no_style())
cursor = connection.cursor()
for q in sql:
try:
cursor.execute(q)
except:
pass
def main():
create_table(Person)
if __name__ == "__main__":
main()
Для создания таблиц просто запускайте этот файлик. Ну а использовать как обычно
from models import Person
Person.objects.....
rss
email
4 коммент.:
О, спасибо, буду юзать!
Спасибо! Таблицу создать получилось, а вот from models import Person не работает! ImportError: No module named models.
У тебя точно работает?
Эмм... ну вот тот файлик, которым ты модели создавал назови models.py
А "from models import Person" нужно делать из другого уже файла, где ты хочешь модель использовать :)
Спасибо, переименование файла решило проблему!
Отправить комментарий