2012-12-07 2 views
0

여러 사용자에게 이메일을 보내야하는 앱을 만들고 있습니다. 사용자는 별도의 관리자 페이지에서 가져온 다음 뉴스 레터 개체가 "뉴스 레터 보내기"작업에서 만들어지고 HttpResponseRedirect가 뉴스 레터의 관리자 편집 페이지로 돌아갑니다. 내가하고 싶은 일은받는 사람을위한 다중 선택 목록을 갖는 대신에 (목록에 너무 많은 주소가있어 어떤 용도로든 사용할 수 있습니다.) 단지 참조 용으로 선택된 전자 메일 주소를 나열하는 div가 있어야합니다. 편집 할 수있는 모든 기능. 어떻게해야합니까?장고 (Django) 양식의 필드 채우기

확실하지 않음이 관련이 있지만, 뉴스 레터 모델이 더 뷰, 내가 원하는 것은 장고 관리자의 이메일 주소를 편집 할 목록으로 수신자를 표시하는 것입니다이 없습니다이

class Newsletter(models.Model):                                              
    owner = models.ForeignKey(User, related_name='+', blank=False)                                     
    sent = models.BooleanField(default=False)                                          
    date_created = models.DateTimeField(auto_now_add=True)                                       
    date_sent = models.DateTimeField(null=True)                                          
    subject = models.CharField(max_length=255)                                          
    content = HTMLField()                                               
    recipients = models.ManyToManyField(Email, related_name='+')                                      

class Meta:                                                  
    ordering = ['date_sent', 'date_created']            

과 같은 형태 이유. 이메일 모델에 너무 많은 이메일이 있기 때문에 위젯을 사용 중지하지 않으려합니다. 관리자 편집 페이지의 어딘가에 나열된 특정 뉴스 레터를 선택하기 만하면됩니다.

+0

당신의 뉴스 모델과 –

답변

0

가장 쉬운 방법은 읽기 전용 입력란입니다.

class MyAdmin(admin.ModelAdmin): 
    readonly_fields = ('_recipients',) 
    fields = ('_recipients',) 

    def _recipients(self, obj): 
    return u', '.join([x.email for x in obj.recipients.all()]) 
    _recipient 
+0

나를 위해 작동하지 않는 모든 관련 뷰 코드에 대한 코드를 추가하십시오, 나는 django.core.exceptions.ImproperlyConfigured를 얻을 : 'NewsletterAdmin.fields은'_recipients를 '필드를 참조하는 양식에서 누락되었습니다. –

+0

수신자 필드를 읽기 전용 필드로 추가하면 내가 원했던 것처럼 작동합니다. –

+0

당신은 어떤 버전의 장고를 사용하고 있습니까? 필드에 읽기 전용 필드를 지정하는 것은 적어도 1.3 이후 완전히 유효합니다. 그렇지 않으면, 당신은 그것이 어디로 가는지에 대해 아무런 통제권을 갖지 못할 것입니다. –

관련 문제