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