Выполнять действия над объектом базы данных в Django шаблоне - PullRequest
1 голос
/ 20 января 2020

Извините за новый вопрос ie, но я пока не очень знаком с Django.

Какое решение будет наилучшим для этой ситуации?

Допустим, у меня есть класс модели, подобный этому:

class ExampleItem(models.Model)
    name = models.TextField()
    ...
    #etc...

и модель профиля, которая связана с Auth.User

class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    example_items = models.ManyToManyField(ExampleItem, related_name="items")

У меня есть представление example_item_details, которое передает данные ExampleItem в шаблон.

def example_item_details(request, id):
    example_item = get_object_or_404(ExampleItem, id=id)
    return render(request,
        'website/example_item_details.html',
        {'example_item': example_item})

в шаблоне у меня есть код, который проверяет, добавлен ли example_item в поле manytomany поля профиля example_items.

В моем шаблоне у меня есть этот код:

{% if request.user|check_if_item_is_user:example_item %}
<div class="button">
  Already Added
</div>
{% else %}
<div class="button">
  Add Item to your account
</div>
{% endif %}

Я хочу добавить «example_item» в «request.user.profile.example_items» при нажатии «Добавить элемент в свой аккаунт» или удалить «example_item» из «request.user.profile.example_items» при нажатии на кнопку «Уже элемент» "и перезагрузите страницу.

Как я могу сделать это без формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...