0

UserProfile モデルから継承するいくつかのフィールドを持つモデルがある場合:

class LeaveRequest(models.Model):
    employee = models.ForeignKey(UserProfile)
    supervisor = models.ForeignKey(UserProfile, related_name='+', blank=False, null=False)
    submit_date = models.DateField(("submit date"), default=datetime.date.today)
    leave_type = models.CharField(max_length=64, choices=TYPE_CHOICES)
    start_date = models.DateField(("start date"))
    return_date = models.DateField(("return date"))
    ...

そして、このモデルを使用してモデル フォームを作成します。

class LeaveRequestForm(ModelForm):
    class Meta: 
        model = LeaveRequest

ユーザー プロファイルで電子メールの URL を照会するにはどうすればよいですか? このビュー関数では、フォームの送信時に送信者 (従業員) とスーパーバイザーに通知メールを送信しようとしています:

def create_request(request):
    if request.method == 'POST':
        form = LeaveRequestForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['employee']
            subject = form.cleaned_data['leave_type']
            message = form.cleaned_data['notes']
            sender = form.cleaned_data['employee']

            remoterq = form.save(commit=False)
            remoterq.save()
            form.save_m2m()
            recipients = [user.email for user in remoterq.employee, user.email for user in remoterq.supervisor]
            from django.core.mail import send_mail
            send_mail(subject, message, 'projects.xxx@google.com', recipients, fail_silently=False)
            return HttpResponseRedirect('.')

「受信者」変数のコードが無効ですが、修正方法がわかりません。

4

1 に答える 1

0

試す

remoterq.employee.user.email

従業員の電子メールと

remoterq.supervisor.user.email

スーパーバイザーのメール用。

于 2013-01-17T20:12:05.193 に答える