0
私のビューの1つに(RelatedObjectDoesNotExist:UserProfileにはサイトがありません)エラーが表示されますが、管理者はすべてのエラーを出さずにCRUD操作を実行できます。Django:RelatedObjectDoesNotExistビューでは正常に動作しますが、管理者ではうまく動作します
django.db.models.fields.related_descriptors.RelatedObjectDoesNotExist: UserProfile has no site.
抜粋
class Sites(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
active = models.NullBooleanField()
created_at = models.DateTimeField(blank=True, null=True)
updated_at = models.DateTimeField(blank=True, null=True)
logo_file_name = models.CharField(max_length=255, blank=True, null=True)
logo_content_type = models.CharField(max_length=255, blank=True, null=True)
logo_file_size = models.IntegerField(blank=True, null=True)
logo_updated_at = models.DateTimeField(blank=True, null=True)
logo_path = models.CharField(max_length=255, blank=True, null=True)
account_type = models.CharField(max_length=255, blank=True, null=True)
def __str__(self):
site_str = 'id = {}, name = {}'.format(self.id, self.name)
return site_str
class Meta:
managed = True
db_table = 'sites'
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
site = models.ForeignKey(Sites)
def __str__(self):
user_profile_str = '{}: {}'.format(self.user.username, str(self.site))
return user_profile_str
models.py
からの抜粋フォームこのラインでviews.py
@login_required
def client_list(request):
user_profile = UserProfile(user=request.user)
print(user_profile.user.username)
clients = Clients.objects.filter(site_rec=user_profile.site)
return render(request, 'snapreport/clients/all_clients.html', {'clients': clients})
クライアントモデルを忘れた場合 – user2021091
@ user2021091クライアントモデルをクエリする前に(user_profile.site)を印刷すると、完全なソースにクライアントモデルが含まれています –