Как инициализировать событие внешнего ключа в представлении на основе функций в 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
)
Вернуться на верх