我正在使用 django-simple-history 来记录数据库模型中的更改历史记录。当我更改模型历史中的特定值时,管理面板中是可见的。但是当从应用程序编辑或更改值时,历史记录在管理面板中不可见。有什么我想念的。
from django.db import models
from simple_history.models import HistoricalRecords
class AcademicYear(models.Model):
academic_year_start = models.PositiveIntegerField(blank=False, null=False, max_length=4)
academic_year_end = models.PositiveIntegerField(blank=False, null=False, max_length=4)
history = HistoricalRecords()
def __unicode__(self):
return "%s-%s" % (self.academic_year_start, self.academic_year_end)
class Activity(models.Model):
activity_name = models.CharField(max_length=100, blank=False)
history = HistoricalRecords()
def __unicode__(self):
return "%s" % self.activity_name
Run Code Online (Sandbox Code Playgroud)
更新
我调查了我的意见,而不是.save()我用的.update(),用于更新我的模型值。
activity_obj_list = Activity.objects.filter(activity_name=name)
activity_obj_list.update(activity_name=new_activity_name)
Run Code Online (Sandbox Code Playgroud)
更新功能不会创建历史日志。这是某种错误吗?
我在PySide中编写代码,其中包含一个"更改IP"按钮.单击该按钮时,会出现一个包含文本框的对话框.我想在文本框上验证只接受IP地址.
我正在使用此代码:
QtGui.QInputDialog.getText(self, "Title", "Enter IP: ")
Run Code Online (Sandbox Code Playgroud) 我是PySide / PyQt的新手,我正在创建一个接受用户名和密码的对话框。我遇到密码文本字段错误。
根据PySide的文档来创建我正在使用的密码文本字段
self.password_text = QtGui.QLineEdit.setEchoMode(QtGui.QLineEdit.EchoMode.Password)
Run Code Online (Sandbox Code Playgroud)
但是当我运行该应用程序时,出现以下错误。
self.password_text =QtGui.QLineEdit.echoMode(QtGui.QLineEdit.Password)
TypeError: descriptor 'echoMode' requires a 'PySide.QtGui.QLineEdit' object but received a 'PySide.QtGui.QLineEdit.EchoMode
Run Code Online (Sandbox Code Playgroud)