首先,它与循环Model
引用无关。我可以找到很多关于这些的答案。
我正在构建一个应用程序,让您可以轻松地在设置中定义提醒。因此REMINDERS
设置如下所示:
设置
REMINDERS = [
{
'reminder_id': 'my-id',
'reminder_class': 'students.reminders.ExpiredAvailabilityEmailReminder',
},
]
在这个应用程序 ( reminders
) 中,我为这些提醒提供了一个基类,其中包含一些默认行为。要定义提醒,我唯一要做的就是例如:
student_app/reminders.py
from reminders.base_reminders import ReminderEmail
from .models import Student
class ExpiredAvailabilityEmailReminder(ReminderEmail):
template_name = 'students/emails/setting_expired.html'
def get_queryset(self):
return Student.objects.filter(
is_active=True,
setting_expired__lt=datetime.date.today())
提醒应用程序/管理/命令/发送提醒.py
管理命令将此reminder_class
-string导入handle
with django.utils.module_loading.import_by_path
,但失败并显示:
django.core.exceptions.ImproperlyConfigured: Error importing module studenten.reminders: "No module named base_reminders"
因为它变成了循环引用。如何为我的应用程序的用户提供可子类化的基类,而不会遇到此问题?
谢谢。