Найти - Пользователи
Полная версия: как создать свое поле Slug_field
Начало » Django » как создать свое поле Slug_field
1
lisij
у меня есть таблица категорий к новостям и новости:
(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)
(admins.py)
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',)
селал свою страницу добавление (не через админку):
(views.py)
@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}
не хочет работать поле slug. Как возможно создать свое поле slug для это модели, чтобы при добавлении в поле title модели News автоматически заменялось на английский?
Ferroman
Пожалейте наши мозги, отформатируете текст, а то в таком виде его невозможно читать.
AlexKiriukha
lisij, соглашусь с Ferroman, потому код посмотрел бегло.

У модели в django можно переопределить метод save(), который может сделать подготовку и “доработку” объекта перед самым сохранением, а потом сделать и само сохранение (вызвать метод save() у объекта-родителя).
lisij
а возможно сделать с помощью JavaScript? Говорят что есть в Django такой скриптик котроый хранится в файле urlify.js? Если возможно то как? Просто пока не дружу я со скриптами…
Ferroman
Вообще-то для модели есть SlugField. У Вас в модели его нет. Я не совсем понимаю зачем использовать slug везде, кроме модели…
Может стоить и в модели его использовать?
Я бы сделал так, как советует Алекс.
Александр Кошелев
lisij
Просто пока не дружу я со скриптами…
Так подружитесь. Они прикольные ребята;)
lisij
Ferroman
class AdminNews(admin.ModelAdmin):
prepopulated_fields = {'slug_title': ('title',)}
list_display=('title', ‘body’)
ordering=('title',)
prepopulated_fields создает slug_field
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