Đây là admin.py tôi:django quản trị save_model không tiết kiệm mô hình thay đổi
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
Khi tôi lưu obj.subscriptionInfo.paid = 1
của nó không được cập nhật hàng dữ liệu, bất kỳ ý tưởng tại sao?
LƯU Ý: subscriptionInfo là khóa ngoại trong mô hình TransactionInfo ở trên.
-------------------------- CẬP NHẬT ------------------ --------
model.py My
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
Bất cứ ai?
bạn có thể hiển thị mô hình mã của bạn? –
Đã chỉnh sửa câu hỏi của tôi với các kiểu máy của tôi. – Maverick
@GlynJackson Tôi không chắc chắn về nó, bởi vì tôi cần phải thay đổi lĩnh vực trả tiền để 1, đó là mặc định 0 nếu không. – Maverick