Форум сайта python.su
у меня есть таблица категорий к новостям и новости:
(model.py)
class Category(models.Model):
name=models.CharField(max_length=100)
slug_name=models.CharField(max_length=100)
def __unicode__(self):
return u'%s' % (self.name)
class News(models.Model):
title = models.CharField(max_length=1000)
body=models.CharField(max_length=1000)
image=models.ImageField(upload_to='/img')
categoryes =models.ManyToManyField(Category)
date_public=models.DateField(auto_now_add=True)
date_change=models.DateField(auto_now=True)
slug_title=models.CharField(max_length=100)
similar_news=models.ManyToManyField("self")
def __unicode__(self):
return u'%s' % (self.title)
from django.contrib import admin
class AdminNews(admin.ModelAdmin):
prepopulated_fields = {'slug_title': ('title',)}
list_display=('title', 'body')
ordering=('title',)
class AdminCategory (admin.ModelAdmin):
prepopulated_fields = {'slug_name': ('name',)}
list_display=('name', 'slug_name')
ordering=('name',)
@render_to('addedNews.html')
def addedNews(request):
if request.method=='POST':
f=NewsForm(request.POST,request.FILES)
if f.is_valid():
new_news=f.save(commit=False)
new_news.some_field='some_value'
new_news.save()
f.save_m2m()
return HttpResponseRedirect('/thanks.html')
else:
f=NewsForm()
return {'form':f}
Отредактировано (Июль 17, 2008 17:02:30)
Офлайн
Пожалейте наши мозги, отформатируете текст, а то в таком виде его невозможно читать.
Офлайн
lisij, соглашусь с Ferroman, потому код посмотрел бегло.
У модели в django можно переопределить метод save(), который может сделать подготовку и “доработку” объекта перед самым сохранением, а потом сделать и само сохранение (вызвать метод save() у объекта-родителя).
Офлайн
а возможно сделать с помощью JavaScript? Говорят что есть в Django такой скриптик котроый хранится в файле urlify.js? Если возможно то как? Просто пока не дружу я со скриптами…
Офлайн
Вообще-то для модели есть SlugField. У Вас в модели его нет. Я не совсем понимаю зачем использовать slug везде, кроме модели…
Может стоить и в модели его использовать?
Я бы сделал так, как советует Алекс.
Офлайн
lisijТак подружитесь. Они прикольные ребята;)
Просто пока не дружу я со скриптами…
Офлайн
Ferromanclass AdminNews(admin.ModelAdmin):
Офлайн