0

model.pyに 2 つのテーブルがあります。

class Partner(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255, blank=True)
    class Meta:
        db_table = 'partner'

class Device(models.Model):
    id = models.AutoField(primary_key=True)
    partner = models.ForeignKey('Partner', null=True, blank=True)
    username = models.CharField(max_length=255, blank=True)
    password = models.CharField(max_length=255, blank=True)
    class Meta:
        db_table = 'device'

一般的なフォーム生成用のビューを作成します。

class CreateDeviceView(CreateView):
    model = Device
    template_name = 'device_form.html'
    #form_class = DeviceForm

    def get_success_url(self):
        return reverse('partners')

私はurls.pyから呼び出しています:

 url(r'^device/new', CreateDeviceView.as_view(), name='device-new'),

テンプレートdevice_form.htmlは次のとおりです。

<form action="{{ action }}" method="POST">
        {% csrf_token %}
        <ul>
            {{ form.as_p }}
        </ul>
        <input type="submit" class="btn btn-info" value="Save"/>
    </form>

生成された作成フォームは、選択メニューに (外部キーの) 値を持っています: Partner Object,Partner Object... 選択メニューの値を Partner.name にするにはどうすればよいですか? 独自のフォームを作成しようとしましたが、目的の出力が得られませんでした。

4

1 に答える 1