• 1000 ) - Для этого мне нужен ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ
Поскольку существует несколько пользователей, я сохранил chat_id в созданной мной новой модели, которая связана с моделью User с одним полем:
User = get_user_model()
class TelegramProfile(models.Model):
name = models.CharField(default="",max_length=200,blank=True,unique=True)
user = models.OneToOneField(User,on_delete=models.CASCADE,related_name="user_id")
telegram_chat_id = models.CharField(max_length=40,default="",editable=True,blank=True,unique=True)
def __str__(self):
return str(self.name)
Моя модель пользователя - это встроенная модель:
class User(auth.models.User, auth.models.PermissionsMixin):
def __str__(self):
return f"@{self.username}"
Итак, в моем файле views.py у меня есть функция, с помощью которой я получаю сообщение (другой класс модели под названием Recipe - я идентифицирую его по первичному key) и chat_id, который принадлежит определенному c пользователю:
def bot(request,msg,chat_id,token=my_token):
bot=telegram.Bot(token=token)
bot.send_message(chat_id=chat_id, text=msg)
def home(request,pk):
recipe = get_object_or_404(Recipe,pk=pk)
user = request.user
chat_id = User.objects.get(TelegramProfile.telegram_chat_id,user) #with this query I try to grab the chat_id of the logged in user
ingredients = recipe.ingredients
ingredients = ingredients.split("<p>")
ingredients = "\n".join(ingredients)
ingredients = strip_tags(ingredients)
bot(request,ingredients,chat_id)
return render(request,"recipes/send_recipe.html")
Итак, мой вопрос:
-Как мне сделать запрос для chat_id, чтобы: chat_id из Speci c logged в User будет вызываться, поэтому я могу вставить его в функцию бота, чтобы отправить сообщение на этот конкретный c id?
Я все еще новичок в django, поэтому я все еще изучаю q ueries, заранее большое спасибо !!!