Как инициализировать событие внешнего ключа в представлении на основе функций в Django
У меня есть две модели, одна из которых связана с другой с помощью внешнего ключа. Модель Event отображается на странице детализации. Я хочу инициализировать внешний элемент внешнего ключа в моем представлении на основе функции, которое помогает мне обрабатывать форму в Ajax и сохранять ее. Я хочу инициализировать поле event текущим просматриваемым событием
Views.py
def create_attendance(request, slug):
model = get_object_or_404(Event, slug=slug)
context = {
'event': model
}
response_data = {
'msg':'Your form has been submitted successfully' # response message
}
if request.POST.get('action') == 'post':
fullname = request.POST.get('fullname')
phone_number = request.POST.get('phone_number')
email = request.POST.get('email')
company = request.POST.get('company')
position = request.POST.get('position')
event = model.objects.get(event=name)
Attendance.objects.create(
fullname = fullname,
phone_number = phone_number,
email = email,
company = company,
position = position,
event = event
)
return JsonResponse(response_data)
print(event)
return render(request, 'create_attendance.html', context)
Model.py
class Event(models.Model):
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=150, blank=True)
class Attendance(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE, null=True, blank=True)
fullname = models.CharField(max_length=100)
Будьте осторожны, вы используете переменную event
в вашем коде, но вот то, что должно работать (не проверено):
event = Event.objects.create(user=request.user)
attendance = Attendance.objects.create(
fullname = fullname,
phone_number = phone_number,
email = email,
company = company,
position = position,
event = event
)