質問に回答しましたか?:Drugを表示すると、取引テーブル(Drugs)に検索値(Atcから)を表示するにはどうすればよいですか?モデル自体に関係を埋め込むサヴェリオのアプローチを使用してdjango ForeignKey表示
ソリューション、:
models.py
class Atc(models.Model):
id = models.CharField(max_length=60, primary_key=True, db_column='ID')
txt = models.CharField(max_length=690, db_column='TXT')
class Meta:
db_table = u'ATC'
def __unicode__(self):
return u"%s - %s" % (self.id, self.txt)
class Drug(models.Model):
id = models.CharField(max_length=64, primary_key=True, db_column='ID')
atc = models.ForeignKey(Atc, db_column='ATCCD')
pricetopharm = models.FloatField(db_column='PRICETOPHARM')
brandnm = models.CharField(max_length=135, db_column='BRANDNM')
drugnm = models.CharField(max_length=240, db_column='DRUGNM')
class Meta:
db_table = u'DRUGS'
def __unicode__(self):
return u"%s - %s" %(self.drugnm, self.formandstrength)
そしてadmin.py
class DrugsAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['id']}),
('ATC', {'fields': ['atc','brandnm'] }),
(None, {'fields': ['drugnm']}),
('Prices', {'fields': ['pricetopharm']}),
]
search_fields = ['drugnm','brandnm']
admin.site.register(Drug, DrugsAdmin)
admin.site.register(Atc)
にキーポイントが追加になっていますto models.py
atc = models.ForeignKey(Atc, db_column='ATCCD')
薬物に
(トランザクションは、テーブルを参照しない)とadmin.pyフィールドセットへ
('ATC', {'fields': ['atc','brandnm'] }),
は多対1の関係を表現するために。
ここで、admin.pyの内容は、MTVの哲学にあるはずです。また、単なる(Drug、not Drugs)のオブジェクトの名前を変更すると、 。(。つまり、薬ではないDruggs)重複したSさんのRID 結果は、薬物のディスプレイである例えば、ID + TXTのドロップダウンボックスを示しP04H11 - 。あなたの助けみんな ピート
(のための細胞毒性
感謝私自身の質問に答えるにはあまりにも若いバーガー、それで元の質問の編集!)
ありがとうSaverio。これは私が推測する最も論理的な方法です。まず、models.pyを調整してから始めましょう。私はそれを通して私の方法を働いたときに更新されます! – Pete855217