Обновил движок блогов — пока ничего нового, но по крайней мере:
а) теги теперь необязательны при редактировании
б) произведен капрефакторинг кода (извини, Олег :)).
Дальше — больше, следите за новостями.
Брать код отсюда (Download Source).
P.S. Могут быть замечены глюки — по возможности сообщайте, оперативно поправлю.





Комментарии Фильтр
Без него, сомневаюсь, что кому то будет нужно все это.
Если вообще нужно.
Как причешу исходники — буду приводить в товарный вид.
Еще параллельно занимаюсь новой версией — вроде получается хорошо, но не хватает времени, к сожалению.
Ты на пайтоне пишешь? Давай мне задания. Я буду на выходных писать. Могу БД проектировать, могу код писать, могу танцы с медведями танцевать.
:)
Вот как раз проектирование БД будет очень кстати — проектировщик из меня никакой.
Например, пока я с редактированием постов решил так:
1) Таблица posts, примерная структура:
id
title — Заголовок
author — Автор оригинального поста
latest_revision — Foreign key, ссылающийся на id таблицы post_revisions
2) Таблица posts_revisions
id — ID изменения
author — Автор изменений
text — Измененный текст поста
post_id — ID поста, к которому принадлежит изменение
datetime — Время изменения
Соот-но, при любом редактировании поста добавляем новую строку в таблицу post_revisions и делаем ссылку на нее в latest_revision у редактируемого поста.
Получаем: в latest_revision всегда имеем актуальную (отображаемую) версию поста, в post_revisions — историю изменений.
Нутром чувствую, что я все сделал криво и неправильно :)
Поэтому тут твоя помощь будет очень полезна.
Убери post_id из posts_revisions для начала ;)
Давай с самого начала БД проектировать. Если на то пошло. Напиши мне когда у тебя будет время, что у тебя уже есть в БД и сделай файл миграции (что бы я у себя мог позырить).
Нам, я полагаю, нужно две вещи будет: схема, за актуальность которой буду я отвечать и файл миграции, за обновление которого будет отвечать разработчик добавивший новые поля или сущности.
Время по вечерам обычно всегда есть, так что тут как тебе удобнее.
Схему подготовлю.
Ты хочешь все сам сделать :)
Схему я готовлю. Ты сделай файл миграии — под ним я понимаю файл куда вынесены все скрипты на создание таблиц в БД и заполнение статических справочников :)
Запутался :)
Я не сомневался :)
MySQL, полагаю, будет не комильфо в будущем, но посмотрим.
Можно, т.к. Джанго абсолютно абстрагирован от БД и сам собирает ее структуру (manage.py syncdb) из классов моделей.
И хоть я с Постгрес и не знаком, но попробуем :) Тем более, опять-таки, 90% запросов — абстракция.
Видимо там что-то вроде hibernate уже есть? Если да, то тогда нам нужно не БД проектировать, а удобство объектной модели прорабатывать :)
Проектировать БД нужно. Вот тебе пример класса модели:
# Описывает историю текста поста class PostRevision(models.Model): title = models.CharField(u'заголовок', max_length=255) text = models.TextField(u'текст поста') changes_author = models.ForeignKey(User) date = models.DateTimeField(u'дата правки') editor_note = models.TextField(u'причина редактирования') def __unicode__(self): return self.titleИ как это используется:
PostRevision.objects.filter(id=123) # SELECT * FROM post_revision WHERE id = 123Ваш КО.
добавлены пространства имен и все
Но я пока не закончил — скоро новая версия :)