Форум программистов, компьютерный форум CyberForum.ru

Peewee и админка django - Python

Восстановить пароль Регистрация
 
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 31
09.01.2017, 18:08     Peewee и админка django #1
использую orm peewee так как в orm django не получилось работать с несколькими базами. Вот только не догоняю как это дело по научному подключить к админке. так как способ django не прокатил. вот код models
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
from __future__ import unicode_literals
 
# from django.db import models
from peewee import *
 
 
db1 = MySQLDatabase('overhead_data', user='root', password='Cin>>passwd', host='localhost', charset='utf8mb4')
 
 
class Countries(Model):
    name_en = CharField(unique=True, max_length=50, verbose_name = 'англоязычное название')
    name_ru = CharField(max_length=20, verbose_name = 'рускоязычное название')
    border = TextField(verbose_name = 'картинка границей страны')
    flag = TextField(verbose_name = 'картинка с флагом страны')
    active = IntegerField(verbose_name = 'включена в поиск')
 
 
    class Meta:
        database = db1
        db_table = 'countries'
 
 
class Regions(Model):
    country = IntegerField(verbose_name = 'страна, к которой принадлежит регион')
    name_en = CharField(max_length=50, verbose_name = 'англоязычное название')
    name_ru = CharField(max_length=20, verbose_name = 'рускоязычное название')
 
    class Meta:
        database = db1
        db_table = 'regions'
 
 
class Cities(Model):
    country = IntegerField(verbose_name = 'страна, к которой принадлежит регион')
    region = IntegerField(verbose_name = 'регион, к которому принадлежит город')
    name_en = CharField(max_length=50, verbose_name = 'англоязычное название')
    name_ru = CharField(max_length=20, verbose_name = 'рускоязычное название')
    important = IntegerField(verbose_name = 'главный в врегионе')
 
    # regions = ForeignKeyField(Regions, region = 'id')
 
    class Meta:
        database = db1
        db_table = 'cities'
 
 
class Comfort(Model):
    name_en = CharField(unique=True, max_length=50, verbose_name = 'англоязычное название')
    name_ru = CharField(max_length=20, verbose_name = 'рускоязычное название')
    type_point = TextField(verbose_name = 'к каким типам точек отностися')
 
    class Meta:
        database = db1
        db_table = 'comfort'
 
 
class Services(Model):
    name_en = CharField(unique=True, max_length=40, verbose_name = 'англоязычное название')
    name_ru = CharField(max_length=40, verbose_name = 'рускоязычное название')
    priority = IntegerField(verbose_name = 'приоритет сервиса')
 
    class Meta:
        database = db1
        db_table = 'services'
 
 
 
if __name__ == '__main__':
    try:
        Countries.create.table()
    except OperationalError:
        print('Ошибка создания таблицы')
 
    try:
        Regions.create.table()
    except OperationalError:
        print('Ошибка создания таблицы')
 
 
    try:
        Cities.create.table()
    except OperationalError:
        print('Ошибка создания таблицы')
 
    try:
        Comfort.create.table()
    except OperationalError:
        print('Ошибка создания таблицы')
 
    try:
        Services.create.table()
    except OperationalError:
        print('Ошибка создания таблицы')
при использовании orm django в файле admin я писал
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class ServicesAdmin(admin.ModelAdmin):
    list_display = ('name_en', 'name_ru', 'priority')
 
 
class ComfortAdmin(admin.ModelAdmin):
    list_display = ('name_en', 'name_ru', 'type_point')
 
 
class CitiesAdmin(admin.ModelAdmin):
    list_display = ('country', 'region', 'name_en', 'name_ru', 'important')
 
 
class RegionsAdmin(admin.ModelAdmin):
    list_display = ('country', 'name_en', 'name_ru')
 
 
class CountriesAdmin(admin.ModelAdmin):
    list_display = ('name_en', 'name_ru', 'border', 'flag', 'active')
    
 
admin.site.register(Services, ServicesAdmin)
admin.site.register(Comfort, ComfortAdmin)
admin.site.register(Cities, CitiesAdmin)
admin.site.register(Regions, RegionsAdmin)
admin.site.register(Countries, CountriesAdmin)
но с peewee это не прокатывает. нужен пример, а не ссылка на документацию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex925
2263 / 1929 / 440
Регистрация: 19.03.2012
Сообщений: 7,560
09.01.2017, 21:04     Peewee и админка django #2
Duuly, джанга уже научилась работать со сторонними orm? Некоторое время назад было, так: "Решил использовать нормальную orm и попрощался со всеми плюшками джанги и в том числе с админкой из коробки".
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 31
09.01.2017, 21:22  [ТС]     Peewee и админка django #3
Цитата Сообщение от alex925 Посмотреть сообщение
"Решил использовать нормальную orm и попрощался со всеми плюшками джанги и в том числе с админкой из коробки".
проблема в том, что не смог наладить приложения с несколькими базами данных. ну ни как не догоняю что ни так.
может есть какой то реальный пример

Добавлено через 7 минут
как указать для какой базы создается модель?
alex925
2263 / 1929 / 440
Регистрация: 19.03.2012
Сообщений: 7,560
09.01.2017, 22:21     Peewee и админка django #4
Duuly, я не работаю с джангой, давно бросил это. Так что как с ней работать не смогу подсказать. Мне просто было интересно, неужели теперь заменить стандартную ORM стало можно сделать безболезненно (но как вижу не стало).
Просто с шаблонизаторами на сколько я слышал, все стало более просто (правда они не нужны уже почти).
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 31
09.01.2017, 22:29  [ТС]     Peewee и админка django #5
из сотен страниц прочитанных документов я понял что даже стандартная orm в django может работать с несколькими базами, но ни одного толкового примера не нашел
alex925
2263 / 1929 / 440
Регистрация: 19.03.2012
Сообщений: 7,560
09.01.2017, 22:46     Peewee и админка django #6
Duuly, стандартная orm это полный шлак, который ничего не умеет и где половину запросов надо писать на чистом sql. Я прекрасно знаю, что django какашка и по этому ей не пользуюсь.
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 31
09.01.2017, 23:27  [ТС]     Peewee и админка django #7
Альтернатива?
alex925
2263 / 1929 / 440
Регистрация: 19.03.2012
Сообщений: 7,560
10.01.2017, 03:29     Peewee и админка django #8
flask + sqlalchemy + jinja2
К слову, sqlalchemy это самая навороченная orm в Python.
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 31
10.01.2017, 09:37  [ТС]     Peewee и админка django #9
Цитата Сообщение от alex925 Посмотреть сообщение
flask + sqlalchemy + jinja2
Вот если еже и коротенький пример, то будет мне счастье)
alex925
2263 / 1929 / 440
Регистрация: 19.03.2012
Сообщений: 7,560
10.01.2017, 10:22     Peewee и админка django #10
Duuly, могу сделать, но или сегодня вечером (возможно поздно вечером) или завтра.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 10:38     Peewee и админка django
Еще ссылки по теме:

Python Импорт модели в django
Django и изучение python Python
Python Django & Postgresql
Модели пользователей Django Python
Python Django ajax

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

Или воспользуйтесь поиском по форуму:
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 31
10.01.2017, 10:38  [ТС]     Peewee и админка django #11
Цитата Сообщение от alex925 Посмотреть сообщение
но или сегодня вечером (возможно поздно вечером) или завтра.
норм
Yandex
Объявления
10.01.2017, 10:38     Peewee и админка django
Ответ Создать тему
Опции темы

Текущее время: 14:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru