对 Django/Python 来说非常陌生,在阅读了大量有关此问题的文档和帖子后,我遇到了难题……
所以我正在开发一个简单的 Django 应用程序,它有一个 SQLlite 数据库/名称和电子邮件地址表。我希望能够从管理面板发送电子邮件,并使用我为给定名称/地址组合选择的复选框中的名称和电子邮件地址。该表本身工作正常,因为我可以从我网站上的其他视图发送电子邮件。
我正在制定一个自定义管理操作来这样做,我认为这是解决这个问题的正确方法......
我以为我理解了 queryset 参数的用途以及它的功能,但无论我做什么,都会'QuerySet' object has no attribute 'name'
出错。显然我不知道查询集在管理操作中是如何工作的。
from django.contrib import admin
from email_check.models import employeeEmail
from django.template import loader, Context
from django.core.mail import send_mail
class employeeEmail_Admin(admin.ModelAdmin):
list_display = ('name', 'address')
actions = ['resend_message']
def resend_message(self, request, queryset):
for employeeEmail.address in queryset:
message = loader.get_template('email.txt')
messageContext = Context({
'name': queryset.name
})
send_mail('Test Subject Line', message.render(messageContext), 'me@test.com', [queryset.address],
fail_silently=False)
admin.site.register(employeeEmail, employeeEmail_Admin)
我意识到这有点模糊,但基本上我希望弄清楚如何从我的employeeEmail
模型/表中访问名称和地址属性,以便我可以从管理面板发送电子邮件。在我拥有queryset.name
和的地方[queryset.address]
,这些只是示例占位符,因为我尝试了许多不同的事情但没有成功,我猜我离解决方案还很远。