- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是我的 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/
当我尝试更新用户数据时,出现此错误:数据库正在尝试使用 User 类型的值更新 CharField 类型的关系字段。确保设置正确的关系。 这是我的views.py: def settings(requ
我不明白我做错了什么。我希望用户只添加公告模型的标题和描述,其余的应该自动填写。这是我的模型: class Annoucement(models.Model): username = mode
我有一个模型 models.py : class MyModelClass(models.Model): name = models.CharField(max_length=255)
我最初的问题是我试图将当前用户附加到新条目,因此我重写了 admin.ModelAdmin 下的 save_model 方法来执行 def save_model(self, request, obj,
对于覆盖 save 方法所需的所有 Django 需求,我一直在模型中使用 save() 。突然,当我正在查找需要一些额外功能的东西时,有人建议在我的管理类中覆盖 save_model() 。 我找到
我最初的问题是我试图将当前用户附加到新条目,因此我重写了 admin.ModelAdmin 下的 save_model 方法来执行 def save_model(self, request, obj,
假设我处于通常的情况,在多对多关系中有额外的字段: class Person(models.Model): name = models.CharField(max_length=128) cl
我在尝试保存 Keras 模型时遇到了一些麻烦: 这是我的代码: import h5py from keras.models import load_model try: import h5p
我有两个相关的(通过外键关系)模型并使用内联为父级创建了管理模型。在几种情况下(通过 bool 字段在管理员中编辑),我需要删除所有以前的对象(内联)并创建新对象。我尝试使用 save_model 来
我正在尝试覆盖 save_model method on a Django admin object以防止用户更改某个字段。但是,我找不到一种方法来查明该字段是否已在此方法中更改。 到目前为止,这是我
def save_model(self, request, obj, form, change): basewidth = 650 img = PIL.Image.open(form.
我需要在 ModelAdmin 类中编写一个调用 ModelAdmin.save_model() 的方法,而无需用户实际单击“保存”。 (我想这样做的原因是我在 Django Admin 对象 Vie
这是我的 admin.py: class TransactionInfoAdmin(admin.ModelAdmin): search_fields=['transactionId','sub
对于我的应用程序,当通过表单保存模型时,我需要执行额外的操作。在实践中,如果表单中存在某些条件,我需要在另一个模型中添加一个值。 为此,我有两种选择,但我想了解两者的优缺点。 使用 post_save
所以我在 Django 管理中有一个函数允许我在数据库中创建一个重复的 MyModel: def save_model(self, request, obj, form, change): i
我有以下模型: class Guest(models.Model): first_name = models.CharField(max_length=128) last_name =
我使用 tf.keras 创建了一个Sequential 模型,如下所示: model = tf.keras.Sequential() model.add(tf.keras.layers.Dense(
我有一个模型,它有一个 user 字段,需要从当前登录的用户自动填充。我可以让它按规定工作 here如果 user 字段在标准 ModalAdmin 中,但如果我正在使用的模型在 InlineMode
我训练了一个神经网络,没有任何检查点,最后我写了 tf.keras.models.save_model(model, dirpath) 来保存整个模型,它创建了以下文件: savedmodel.pb
我有一个与我以前解决的问题类似的问题,除了这次解决方案似乎不起作用: How to auto insert the current user when creating an object in dj
我是一名优秀的程序员,十分优秀!