gpt4 book ai didi

python - django admin save_model 不保存模型更改

转载 作者:太空狗 更新时间:2023-10-30 00:56:27 31 4
gpt4 key购买 nike

这是我的 admin.py:

class TransactionInfoAdmin(admin.ModelAdmin):
search_fields=['transactionId','subscriptionInfo__customerNumber']


save_on_top = False
def has_add_permission(self,request):
return False
def has_delete_permission(self, request, obj=None):
return False
def get_readonly_fields(self, request, obj=None):
if obj:
return self.readonly_fields + ('subscriptionInfo','transactionId','authorizationId','responseCode','operation','batchNumber','merchantId')
return self.readonly_fields

def save_model(self, request, obj, form, change):


#SUCCESS ACTIONS
obj.subscriptionInfo.paid = 1
obj.save()




pass

当我保存 obj.subscriptionInfo.paid = 1 时,它没有更新数据行,有什么想法吗?

注意:subscriptionInfo 是上述模型 TransactionInfo 中的外键。

------------------------更新-------------------- ------

我的模型.py

class SubscriptionInfo(models.Model):
subscriptionId = models.CharField(max_length=50)
customerNumber = models.IntegerField()
subscriptionType = models.CharField(max_length=50, default="basic")
currency = models.CharField(max_length=50, default="NOK")
paid = models.IntegerField(default=0)

class Meta:
verbose_name = "Subscription Information"
verbose_name_plural = "Subscription Information"

def __unicode__(self):
return u'%s' % self.customerNumber


class TransactionInfo(models.Model):
subscriptionInfo = models.ForeignKey(SubscriptionInfo, db_column='f')
authorizationId = models.IntegerField()
transactionId = models.TextField()
batchNumber = models.IntegerField()
merchantId = models.IntegerField()
operation = models.CharField(max_length=50)
responseCode = models.CharField(max_length=50)
paidDate = models.DateField(_("Date"), default=datetime.date.today)

class Meta:
verbose_name = "Transaction Information"
verbose_name_plural = "Transaction Information"

def __unicode__(self):
return u'Transaction : %s' % self.pk

有人吗?

最佳答案

你必须调用:

obj.subscriptionInfo.save()

因为它在一个单独的模型上,所以它看起来像这样:

def save_model(self, request, obj, form, change):
#SUCCESS ACTIONS
obj.subscriptionInfo.paid = 1
obj.subscriptionInfo.save()
obj.save()

关于python - django admin save_model 不保存模型更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17994368/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com