Как получить определенные пользовательские данные из таблицы с помощью ForeignKey в другие таблицы DjangoPython

Программы на Python
Anonymous
Как получить определенные пользовательские данные из таблицы с помощью ForeignKey в другие таблицы Django

Сообщение Anonymous »

У меня 3 стола

Код: Выделить всё

from django.db import models
from django.contrib.auth.models import User

class Boost(models.Model):
title = models.CharField(max_length=50,null=False)# point, storage, point p/s,
expire = models.BooleanField(default=False)
expireDate = models.DateTimeField(null=True)
visiblity = models.BooleanField(default=True)

def __str__(self):
return "id:"+self.title

class BoostLevel(models.Model):
id = models.AutoField(primary_key=True)
boost = models.ForeignKey(Boost, on_delete=models.CASCADE)
level = models.IntegerField(null=False)

def __str__(self):
return self.boost.title + " level: " + self.level.__str__()

class UserBoostList(models.Model):
boostLevel = models.ForeignKey(BoostLevel, on_delete=models.CASCADE)
boostId = models.ForeignKey(Boost, on_delete=models.DO_NOTHING)
userId = models.BigIntegerField(null=False)

В моем случае Boost — это заголовок, уровень Boost — это уровни повышения, а UserBoostList — повышение, выбранное пользователем.
Каждое повышение может иметь множество уровней от 1 до X. >
Каждый пользователь должен начать повышение с уровня 1 до уровня 2 и продолжать
Мне нужно проверить, какой уровень повышения у каждого пользователя для каждого повышения
позволь мне объяснить
У меня есть Boost A и Boost B в таблице Boost
и повышения уровня 1, 2, 3... для каждого повышения отдельно, Ex(Boost A level 1, Boost A level 2 и ... И повысить уровень B 1, повысить уровень B 2 и ...)
Мне нужно
  • Вернуть уровень BoostLevel 1, если у пользователя нет BoostLevel.
  • Вернуть следующий уровень BoostLevel, если пользователь повысил уровень до определенного уровня (для каждого повышения), если следующий уровень существует.
(получить последний повышенный уровень, если для пользователя не существует следующего BoostLevel, и получить следующий уровень в BoostLevel, если следующий уровень существует в BoostLevel)
Примечание: При необходимости вы можете добавить или удалить любое поле, чтобы сделать модуль лучше. но расскажи мне об этом.
Я пытаюсь найти лучший способ получить информацию из 3-й таблицы с помощью ForeignKey.

Подробнее здесь: https://stackoverflow.com/questions/787 ... tables-dja

Вернуться в «Python»