CHOICES = (
(1, "choice1"),
(2, "choice2")
)
class A(models.Model):
a_field = models.SmallIntegerField(choices=CHOICES)
class B(models.Model):
b_field = models.SmallIntegerField(choices=CHOICES)
class Like(Model):
ip = IPAddressField()
class Thing(Model): # Вещь, которую нужно лайкать
likes = ManyToManyField(Like)
try:
if not thing.likes.filter(ip=your_ip_goes_here).exists():
like = Like.objects.get(ip=your_ip_goes_here)
thing.likes.add(like)
except Like.DoesNotExist:
like = thing.likes.create(ip=your_ip_goes_here)
def get_initial(self):
return {'news': self.get_object(), 'author': self.request.user}
def get_context_data(self, **kwargs):
kwargs['form'] = CommentForm(self.request.POST, initial=self.get_initial())
return super().get_context_data(**kwargs)
Передать параметры не через URLи
полученный с помщью AJAX, отправить в FormView. Тут несколько вариантов. Два правильных, один кривой:
/item/15/getform
, где 15 - pk вашей сущности/getform?item=15
/getform
и передав параметры POST запросом. В этом случае, их не будет видно в URLе. from django.http import JSONResponse
from django.views.generic import View
from .models import MyModel
class MyView(View):
def get(self, request, *args, **kwargs):
result = {'count': MyModel.objects.count()}
return JSONResponse(result)
ананимный чат
Мне надо что-бы сервер сам отправлял пользователю json файл, а js его принимал.
python manage.py makemigrations students
students.