1

次のコードを検討してください:

models.py

class Manufacturers(models.Model):
    name = models.CharField(max_length=32)

class Cars(models.Model):
    producedby = models.ForeignKey(Manufacturers)

フォーム.py

class CreateCar(forms.ModelForm): 
    class Meta: 
        model = Cars

... html ページでは、"producedby" フィールドが "Manufacturer オブジェクト" の選択肢のリストのように表示されますが、これはあまり役に立ちません。代わりに、Manufacturer.name フィールドを表示することは可能ですか? 他のスレッドで提案された解決策を試しましたが、どれもうまくいきませんでした。

助けてくれて本当にありがとうございます

4

2 に答える 2

3

__str__ メソッドをオーバーロードし、次のように名前を返すことで修正しました。

class Manufacturers(models.Model):
    name = models.CharField(max_length=32)
    def __str__(self): return self.name
于 2012-09-29T23:48:13.897 に答える
0

これは少し遅いかもしれませんが、今後の参考のために、テンプレート ファイルを次のように変更して修正します。

car_details.html

{{ CreateCarForm.instance.producedby.name }}
于 2013-08-26T15:35:45.883 に答える