0
class Sample(models.model):
sampleID = models.AutoField(primary_key=True)
    something = models.IntegerField()
    .
    .
    .

def save(self, *args, **kwargs):
    is_new = self.pk is None
    super(Sample, self).save(*args, **kwargs)
    if is_new:
        alpha = AnotherSample()
        alpha.asampleID =  self.pk
        alpha.say = "Lolz"
        alpha.save()

サンプルのAnotherSampleの参照キーに主キーを割り当てることができません。それはいつも言う

Cannot assign "1L": "AnotherSample.asampleID" must be a "Sample" instance.
4

2 に答える 2

1

ドキュメントから:

舞台裏では、Djangoは"_id"フィールド名に追加して、データベースの列名を作成します。

alpha.asampleID_id = self.pk

これが、「ID」のサフィックスを持つことが不適切である理由です。

于 2012-09-30T16:53:21.200 に答える
0

表示されたエラー メッセージから、関係を保存しようとしているように見えます。主キーではなく、実際のオブジェクトを渡す必要があります。

def save(self, *args, **kwargs):
    is_new = self.pk is None
    super(Sample, self).save(*args, **kwargs)
    if is_new:
        alpha = AnotherSample()
        alpha.asampleID =  self
        alpha.say = "Lolz"
        alpha.save()
于 2012-09-30T17:03:50.290 に答える