@AliAliAlien

Как использовать данные из модели одного Django-приложения в другом?

Мне необходимо создать систему подписок одного пользователя на другого
Есть 2 приложения: blog и followers
В followers/models.py:
from django.db import models
from django.conf import settings

class Subscribers(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='owner'
    )
    subscriber = models.ForeignKey(
        settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='subscriber'
    )

    def __str__(self):
        return self.user.username

Возникли 2 проблемы :
1) blog/views.py в упор не видит импорт модели из followers
from followers.models import Subscribers
И выдает
ModuleNotFoundError: No module named 'followers'
Приложения находятся на одном уровне , оба указаны в настройках
2) При попытки вывести данные из Subscribers , Python выводит
TypeError: __str__ returned non-string (type User)"

Уточню что str и f' , так же не дают результат
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 2
@bacon
1. что за followers.models.py и blog.views.py? это реально так, а не директории? Должно быть followers/models.py и blog/views.py
2. Ну явно же написана причина, воспользуйся переводчиком
Ответ написан
AlexNest
@AlexNest
Работаю с Python/Django
blog.views.py в упор не видит импорт модели из followers

Структуру мы должны угадывать? Проверьте, что приложения находятся на одном уровне, они созданы корректно (есть init.py) и они подключены в настройках.
TypeError: __str__ returned non-string (type User)"

Код str мы тоже угадывать должны?
Предположу, что вы просто указываете что-то вроде:
return self.user
Вместо этого нужно указывать что-то вроде
return self.user.username
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы