Django超级保存和#1062键“ PRIMARY”的重复条目

以下是我的模特,


class Problem(models.Model):

    pay_id = models.CharField(max_length=32, default=get_uuid_str)

    payer = models.ForeignKey(Profile, blank=True, null=True,

                              related_name='pay_out_list')

    payee = models.ForeignKey(Profile, blank=True, null=True, 

                              related_name='pay_in_list')

    creation_datetime = models.DateTimeField(default=get_utc_now_with_tzinfo)

    expiry_datetime = models.DateTimeField(blank=True, null=True)

    status = models.CharField(max_length=2, default='I', choices=PAYMENT_STATUS)

    pay_type = models.CharField(max_length=2, default='C', choices=PAYMENT_TYPES)

    pay_symbol = models.CharField(max_length=10)

    pay_amt = models.FloatField(default=0.0)

    pay_qr_code = models.FileField(blank=True, null=True, 

                                   upload_to=problem, storage=ca_public)

    return_url = models.CharField(blank=True, null=True, max_length=255)

    user_data_json = models.TextField(blank=True, null=True)

    objects = CAPayManager()

当我保存时,会出现此错误。


obj = Problem(payer=payer, status="QI",user_data_json=user_data)

obj.save(int(1))

以下是我的保存方法,


def save(self, *args, **kwargs):

    expiry_hrs = kwargs.pop('expiry_hrs', None)

    if not self.id:

        super(Problem, self).save(*args, **kwargs)

        self._create_save_qr_code()

        if expiry_hrs:

            try:

                expiry_hrs = int(expiry_hrs)

            except:

                expiry_hrs = -1

            if expiry_hrs > 0:

                self.expiry_datetime = self.creation_datetime + timedelta(hours=expiry_hrs)

    super(Problem, self).save(*args, **kwargs)

如果这是一个愚蠢的错误,我深表歉意,因为我还是Django的新手。因此,如果您愿意抽出时间并为我的目的解决此问题,请多加赞赏。


HUWWW
浏览 141回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python