Найти - Пользователи
Полная версия: Django 1.6 помощь в Admin
Начало » Django » Django 1.6 помощь в Admin
1
kapitonz
Добрый день!
Коллеги, помогите, пожалуйста, решить проблему с Django.Admin

Модель данных:
ref/models.py
from django.db import models
from django.contrib import admin
# Create your models here.
class Src(models.Model):
    name = models.CharField(max_length=64)
    desc = models.CharField(max_length=256)
class Par(models.Model):
    FRAME = (
    ('5', '5 Min'),
    ('60', '1 Hour'),
    ('1440', '1 Day'),
    )
    name = models.CharField(max_length=64)
    desc = models.CharField(max_length=256)
    frame = models.CharField(max_length=16, choices=FRAME)
    src = models.ForeignKey(Src)
    factor = models.IntegerField()

ref/admin.py

from django.contrib import admin
# Register your models here.
from ref.models import *
class ParAdmin(admin.ModelAdmin):
    list_display = ('pk','name','desc','frame','get_src','factor')
    def get_src(self, obj):
        return obj.src.name
class SrcAdmin(admin.ModelAdmin):
    list_display = ('pk','name','desc')
   
admin.site.register(Par,ParAdmin)
admin.site.register(Src,SrcAdmin)

В WEB браузере при просмотре таблицы Ref. Все поля читаемые, поле SRC заменяется на имя источника (src.name)
Но при работе в форме добавления записи в таблицу, поле SRC не читаемое. Пишет src object.


Как сделать в всплывающем списке поля src данные из src.name ?

kapitonz
Приложил всплывающий список.
GreyZmeem
Добавьте в class Src метод __unicode__, который будет возвращать нужное вам описание.
kapitonz
class Src(models.Model):
    name = models.CharField(max_length=64)
    desc = models.CharField(max_length=256)
    def __unicode__(self):
        return self.name

Спасибо, все работает.
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