この私のエンジンモデルフィールドを連鎖する方法は?
from django.db import models
class Colors(models.Model):
color_name = models.CharField(max_length=50)
def __unicode__(self):
return self.color_name
この私の車のモデル
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
O.K.私のCarsDataモデルを見てみましょう。
この私のCarsDataモデル
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は以下のようになります。
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)
はChoiceField '単に' color_nameフィールド件のデータで表示するとにかくはありますか?
def __unicode__(self):
return self.car_model
は、どのように私は、フィールドをcolor_nameするavailable_colorsフィールドをチェーンすることができます:私はそれを設定する必要があるため、単にcar_model参照してください?私はavailable_colorsの選択肢に赤、青、黒、白のような色の名前を表示したいと思います...
私に例を教えてもらえますか?
「ChainedForeignKey」とは何ですか?それはどこから来たのですか?それは何をするためのものか? –
https://github.com/digi604/django-smart-selects – abraham