Найти - Пользователи
Полная версия: Есть ли такое в Django ORM?
Начало » Django » Есть ли такое в Django ORM?
1
test157
допустим есть модель
class BaseModel(models.Model):
val1 = models.CharField(max_length=50)
val2 = models.CharField(max_length=80)
а мне нужно от нее создать много других моделей типа proxy,но чтобы переназначить имена полей, что то типа такого:
class Info(models.Model):
name = BaseModel.val1
address = BaseModel.val2
и после я обращаюсь к виртуальной модели Info но все действия происходят с BaseModel

умеет ли такое Django?
helm2004
А что вам мешает наследовать модель BaseModel?
test157
Ну я ее унаследую, но смысл в том что я хочу обращаться к полям baseModel под другими именами. т.е. вместо val1, val2, val3 использовать более осмысленные имена типа name, address и тд. как быть в таком случае?
Александр Кошелев
Так почему вы BaseModel сразу эти поля так не называете?

Опишите вашу практическую ситуацию.
helm2004
Та видно там тоже, как и мне, код по наследству достался :)
test157
начало истории тут: http://www.sql.ru/forum/actualthread.aspx?tid=772382

назвать не могу, потому что мне нужно в одной таблице хранить данные которые поидее должны храниться в разных табличках. т.е. я унифицирую данные и храню их в GeneriModel - в столбцах вида val1, val2, val3, val4 e.t.c. но работать с такими столбцами не удобно, поэтому я думал както унаследовать модель и работать на подобии прокси т.е. работать с GenericModel, но имена столбцов чтобы были не унифицированные.

Т.е. должно получиться что то типа Generic Storage когда в одной таблице хранятся данные из “разных” таблиц.
ak
Тогда наверно алогитм примерно такой:
1. в базе средствами sql делаете view по нужным таблицам
2. в джанге описываете модель с мета-опцией managed = False
http://docs.djangoproject.com/en/1.2/ref/models/options/#managed
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB