1 Востаннє редагувалося Blast (09.10.2014 20:09:26)

Тема: Model Django

from django.db import models
from django.contrib import admin


# Create your models here.
class Category(models.Model):
    category = models.CharField(max_length=20)

class CategoryAdmin(admin.ModelAdmin):
    list_display = ('category','id')

class Post(models.Model):
    Title = models.CharField(max_length=200)
    Text = models.CharField(max_length=200)
    category = models.ForeignKey(Category)


    

class PostAdmin(admin.ModelAdmin):
    list_display = ('Title',[b] 'category',[/b] 'Text',)

admin.site.register(Post, PostAdmin)
admin.site.register(Category, CategoryAdmin)

В адмінці відображення категорії іде як "Category object " поправити як  ?

Junior Django Developer

2

Re: Model Django

Додай в модель категорії

def __unicode__(self):
    return self.category

3

Re: Model Django

# Create your models here.
class Category(models.Model):
    category = models.CharField(max_length=20)

    def __unicode__(self):
        return '{0} - {1}'.format(self.id, self.category)


якщо python3 -> тоді не "__unicode__"  а "__str__"

4

Re: Model Django

А в загалі чи правильно так писати класи для адмінки в моделі ? Чи це груба помилка .

from django.db import models
from django.contrib import admin


# Create your models here.
class Category(models.Model):
    category = models.CharField(max_length=20)
    def __unicode__(self):
         return self.category
         
class CategoryAdmin(admin.ModelAdmin):
    list_display = ('category','id')
    

class Post(models.Model):
    Title = models.CharField(max_length=200)
    Text = models.CharField(max_length=200)
    category = models.ForeignKey(Category)


    

class PostAdmin(admin.ModelAdmin):
    list_display = ('Title', 'category', 'Text',)

admin.site.register(Post, PostAdmin)
admin.site.register(Category, CategoryAdmin)
Junior Django Developer

5

Re: Model Django

Я розміщую їх в файлі адмін.ру в одній папці з моделю.