Проблема с объединением столов - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь объединить таблицы с помощью набора запросов Django, но по какой-то причине он продолжает выдавать ошибку.

Таблицы структурированы, как показано ниже.

class Platform(models.Model):
    P_key = models.AutoField(primary_key=True)
    P_url = models.CharField(max_length=100)
    P_userkey = models.IntegerField(default=0)
    P_name = models.CharField(max_length=10)
    objects = models.Manager()

class User_info(models.Model):
    U_key = models.AutoField(primary_key=True)
    U_name = models.CharField(max_length=20)
    U_img = models.CharField(max_length=100)
    U_info = models.CharField(max_length=100)
    U_sudate = models.CharField(max_length=20)
    P_key = models.ForeignKey(Platform, on_delete=models.CASCADE)
    objects = models.Manager()

Это кодзаписано для объединения двух таблиц.

queryset = User_info.objects.all().prefetch_related("Platform")
queryset = User_info.objects.all().select_related("Platform")
queryset = Platform.objects.all().select_related("User_info")

И вот ошибка:

django.core.exceptions.FieldError: Недопустимые имена полей, заданные в select_related:'Платформа'. Возможны следующие варианты: P_key.

Я пробовал несколько наборов запросов, но мне не удалось продвинуться далеко.

1 Ответ

0 голосов
/ 04 октября 2019

вы должны использовать имена полей

queryset = User_info.objects.all().prefetch_related("P_key")
queryset = User_info.objects.all().select_related("P_key")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...