7

これが尋ねられた場合は申し訳ありませんが、私はいたるところを見てきましたが、何が私の脳内でクリックするのかを見つけることができないようです.

このような構造があれば、ForeignKeyManyToManyフィールドの関係を で検索可能にすることは可能ですかadmin。では、価格情報を入力するときに、ドロップダウン ボックスから何千もの車両を検索する代わりに、車両のメーカー、タイプ、および名前を検索できますか?

class Manufacturer(models.Model):
    manufacturer = models.CharField(max_length=100)

class VehicleType(models.Model):
    vehicle_type = models.CharField(max_length=100)

class VehicleInfo(models.Model):
    manufacturer = models.ForeignKey('Manufacturer')
    vehicle_type = models.ForeignKey('VehicleType')
    vehicle_name = models.CharField(max_length=200)

class RandomWebsitePriceInfo(models.Model):
    vehicle_info = models.ManyToManyField('VehicleInfo')
    website_price = models.FloatField()

私が理想的にやりたいことは、メーカーを選択する場所のようなドロップダウンボックスを介して関係をたどり、次に車両タイプボックスにそのメーカーから入手可能な車両が表示され、次に車両情報ボックスにすべてが表示されることです。そのメーカーおよびそのタイプの車両。

または、車両情報を検索可能にして、車両モデルを入力すると表示されるようにします。

フィールドを調べてraw_input検索しましたが、理解できないようです。

ありがとうブライアン

4

2 に答える 2

9

VehicleInfo 管理ページにいると仮定して、admin.py に以下を追加してみてください。

search_fields = ['vehicle_name' , 'vehicle_type__vehicle_type' , 'manufacturer__manufaturer' ]

車両モデルを見つめて、vehicle_nameそのフィールドを検索します。

manufacturer__manufacturerでは、メーカーで検索してみましょう。2 つのアンダースコアは、同じ のフィールドではなく、検索対象であることを示しているobjectためforeign key、最初のメーカーはメーカー モデルを指しています。2 番目の製造元は、その上で製造元フィールドを検索するように指示しますmodel

于 2014-12-18T13:59:04.217 に答える
1

Django は、すぐに使用できる好ましいアプローチの 1 つとして説明されているように要素を動的に形成しませんが、Javascript を使用して要素を追加するプロジェクトがいくつかあります。

https://github.com/digi604/django-smart-selectsは、私が推奨する主要なものです。

フィールドを検索可能にすることは、サード パーティのプロジェクトがなくても可能です。@wobbily_col の回答は、その方法を示しています。

于 2013-05-29T00:48:01.363 に答える