Merhaba,
Django admin panelinde ilişkili alanlardan oluşan bir veri giriş 
arabirimi yapmaya çalışıyorum. Bunun için en iyi yöntemin 
django-smart-selects eklentisi olduğunu gördüm.
Fakat aşağıdaki şekilde bir sorunum var:


Öncelikle Colors sınıfım:
___________________________________

from django.db import models

class Colors(models.Model):
    color_name = models.CharField(max_length=50)

     def __unicode__(self):
         return self.color_name

________________________________________

Daha sonra Cars sınıfım:

__________________________________________________
from django.db import models

class Cars(models.Model):
     car_model = models.CharField(max_length=50)
     car_colors = models.ManytoManyField(Colors, related_name='Car Colors')

     def __unicode__(self):
         return self.car_model
____________________________________________________

Son olarak da CarsData sınıfım:

__________________________________________________
from django.db import models

class CarsData(models.Model):
     car_barcode= models.CharField(max_length=50)
     available_color = ChainedForeignKey(
                    Cars,
                    chained_field="car_model",
                    chained_model_field="car_colors",
                    show_all=False,
                    auto_choose=True
                  )

     def __unicode__(self):
         return self.car_barcode
_______________________________________________________

admin.py dosyam ise aşağıdaki şekildedir:

___________________________________________________________________________________
from django.contrib import admin
from django import forms
from myapp.models import *

class CarsDataAdminForm(forms.ModelForm):

     class Meta:
         model = CarsData
     def __init__(self, *arg, **kwargs):
         super(CarsDataAdminForm, self).__init__(*arg, **kwargs)
         self.fields['available_color'].choices 
=[(csc.id,csc.car_colors) for csc in Cars.objects.all()]

class CarsDataAdmin(admin.ModelAdmin):
     form = CarsDataAdminForm

admin.site.register(CarsData,CarsDataAdmin)

_________________________________________________________________________________


"available_color" alanında "color_name" alanından gelen veriyi göstermem 
için ne yapmam gerekiyor?
Şu durumda aşağıdaki şekilde bir tanımlama yapmak zorunda olduğum için 
ilgili alanda cars_model alanına ait verileri görebiliyorum.

________________________________________________

def __unicode__(self):
     return self.car_model
________________________________________________

Bu konuda bana bir örnek verebilecek bir arkadaş mevcut mudur?

Not: Yukarıdaki yapı tamamen hayali bir yapıdır (üzerinde tartışmaya 
değmez, aklıma gelen en kolay örnek bu olduğu için bunu verdim).

Saygılarımla.

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap