История изменений
Исправление dicos, (текущая версия) :
from . models import Bb
class BbAdmin(admin.ModelAdmin):
list_display = ('title', 'content', 'price', 'published')
list_display_links = ('title', 'content')
search_fields = ('title', 'content')
Двумя буквами, как правило, модели не называют, в основном букв 10-20. Получается много писанины. Вот пример:
from django.contrib import admin
from . models import AccountRequest
class AccountRequestAdmin(admin.ModelAdmin):
list_display = (AccountRequest.title, AccountRequest.content, AccountRequest.price, AccountRequest.published)
Другой пример:
mm = MainModel.objects.get(pk=1)
another = mm.linked_set.filter(pubdate_lt=date)
Почему не:
mm = MainModel.objects.get(pk=1)
another = mm.set(Linked).filter(lt(Linked.pubdate, date)
Если нужна алхимия, то нужно брать алхимию. Но мне за 10 лет работы с джангой алхимия 1 раз всего нужна была. Джанговский ОРМ проще синтаксис.
[quote]Ну и в таком духе. Да, где-то получится писать чуть больше, но зато такой код будет инспектируемый, легко проверяемый и поддерживаемый. Если где опечатался это видно сразу, прямо в IDE. Да банальное автоматическое дополнение/quote
Вообще такой проблемы нет. Не так часто структура базы данных меняется + пишутся всегда тесты. Ошибку очень легко выловить
Исходная версия dicos, :
Двумя буквами, как правило, модели не называют, в основном букв 10-20. На мой взгляд много писанины получается. Вот пример:
[code] from django.contrib import admin from . models import AccountRequest
class AccountRequestAdmin(admin.ModelAdmin): list_display = (AccountRequest.title, AccountRequest.content, AccountRequest.price, AccountRequest.published) [/code]
[quote] Другой пример: mm = MainModel.objects.get(pk=1) another = mm.linked_set.filter(pubdate_lt=date)
Почему не: mm = MainModel.objects.get(pk=1) another = mm.set(Linked).filter(lt(Linked.pubdate, date) [/quote]
По поводу ОРМ – если нужна алхимия, то нужно брать алхимию. Но мне за 10 лет работы с джангой алхимия 1 раз всего нужна была. Джанговский ОРМ проще синтаксис.
[quote]Ну и в таком духе. Да, где-то получится писать чуть больше, но зато такой код будет инспектируемый, легко проверяемый и поддерживаемый. Если где опечатался это видно сразу, прямо в IDE. Да банальное автоматическое дополнение/quote
Вообще такой проблемы нет. Не так часто структура базы данных меняется + пишутся всегда тесты. Ошибку очень легко выловить