Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python: Web

Войти
Регистрация
Восстановить пароль
 
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 51
#1

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

09.01.2017, 18:08. Просмотров 277. Ответов 10
Метки нет (Все метки)

использую 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 это не прокатывает. нужен пример, а не ссылка на документацию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2017, 18:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Peewee и админка django (Python):

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

Настроить авторизацию через социальные сети в django с помощью Django Social Auth - Python
Пытаюсь настроить авторизацию через социальные сети в django с помощью Django Social Auth, но вылетаю с ошибкой WrongBackend, не работает...

Django ORM запрос с подзапросом или переведите SQL в запрос Django ORM - Python
В общем весь вопрос был в заголовке! Есть запрос на SQL он работает нормально вот только не знаю как заставить Django-mptt корректно на...

Вставка в таблицу MySQL используя peewee вызывает исключение “unknown column” - Python
Доброго времени суток, подскажите с проблемкой У меня есть следующий скрипт: from peewee import * db =...

Django и AD - Python
Добрый день. Столкнулся с такой проблемой: нужно создать (скопировать) в БД Django пользователей из Active Directroy вместе с их...

Django nonrel - Python
нужно сделать backend с монгой для angular, хочу спросить насколько хорошая идея юзать django-nonrel ? Там форк 1.5 насколько я понял....

10
alex925
2617 / 2268 / 540
Регистрация: 19.03.2012
Сообщений: 8,814
09.01.2017, 21:04 #2
Duuly, джанга уже научилась работать со сторонними orm? Некоторое время назад было, так: "Решил использовать нормальную orm и попрощался со всеми плюшками джанги и в том числе с админкой из коробки".
0
Duuly
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 51
09.01.2017, 21:22  [ТС] #3
Цитата Сообщение от alex925 Посмотреть сообщение
"Решил использовать нормальную orm и попрощался со всеми плюшками джанги и в том числе с админкой из коробки".
проблема в том, что не смог наладить приложения с несколькими базами данных. ну ни как не догоняю что ни так.
может есть какой то реальный пример

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

Django магазин - Python
Всем доброго времени суток! не так давно изучаю джанго, и возникают парадоксальные ситуации, вроде бы сложные вещи даются легко, а те...

Склоенение в Django - Python
Изучаю джанго. Создал две простейшие модели from django.db import models class Category(models.Model): category_name =...

Runserver в django - Python
здравствуйте. пытаюсь создать первый проект на джанго выдает вот такую ошибку при вызове runserver путь к проекту...

Кроперы в Django - Python
Доброго времени суток! В общем, есть расширенная модель пользователя - в котором есть поле аватар. К нему нужно привинтить кропер (js)...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru