【发布时间】:2015-05-19 18:36:37
【问题描述】:
我有一个模型类“时事通讯”。可以选择发送给喜欢的学生、老师等。
无论用户选择什么,我都想获取学生或老师的所有电子邮件,然后在按下保存按钮后,获取当前保存的时事通讯的 id 以及所选学生或老师的所有电子邮件,并将其保存到另一个名为 email 的表中日志。
所有这些工作都是在 django 的管理面板上完成的。
class newsletter(models.Model):
newsletter_id = models.AutoField(primary_key=True)
subject = models.CharField(max_length=512)
content = RichTextField()
send_to_choice = {('0', 'None'), ('1', 'Student'), ('2', 'Teacher')}
send_to = models.CharField(max_length=128, choices=send_to_choice, default='None')
created_on = models.DateTimeField(auto_now_add=True)
created_by = models.EmailField(max_length=254)
updated_on = models.DateTimeField(auto_now_add=True)
updated_by = models.EmailField(max_length=254)
当管理员选择一个选项时,应激活查询并显示所选选项的所有电子邮件。我知道查询,但不知道如何在 django 管理面板上实现它。
更新:
我编写了这个简单的函数来测试它是否执行,然后将我的逻辑添加到它。
def save_model(self, request, obj, form, change):
obj.save()
if not change:
if obj.send_to == '1':
messages.success(request, 'MyModel was saved!.')
obj.created_by = 'abc@gmail.com'
if obj.send_to == '1':
messages.success(request, 'MyModel was saved!.')
obj.created_by = 'abc@gmail.com'
obj.save()
【问题讨论】:
标签: python django django-models django-admin