Как автоматически сохранить внешний ключ в Django?

Я хочу сохранить restaurantID (внешний ключ, который ссылается на Restaurant_Account) в таблице Menu. Они должны иметь одинаковое значение. Например, если пользователь 'A' в Restaurant_Account вошел в систему и заполнил форму для сохранения данных в таблице Menu, идентификатор ресторана пользователя A должен быть сохранен в таблице Menu автоматически.

Как я могу это сделать? Заранее спасибо. Ниже приведен мой код!

class Restaurant_Account(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    is_restaurant = models.BooleanField(default=True)
    restaurantID = models.AutoField(primary_key=True)
    name = models.CharField(max_length=200)
    isActive = models.BooleanField(default=True)
    image = models.ImageField(upload_to='images/', blank=True)
    website = models.URLField(blank=True)
    country = models.CharField(max_length=50)

    def __str__(self):
        return self.user.username

class Menu(models.Model):
    restaurantID = models.ForeignKey(Restaurant_Account, on_delete=models.CASCADE, default=None, null=True)
    item = models.CharField(max_length=100)
    itemImage = models.ImageField(upload_to='images/', blank=True)
    price = models.DecimalField(max_digits=6, decimal_places=2)
    category = models.CharField(
        max_length=20,
        choices=CHOICES)
    
    def __str__(self):
        return self.item

Ниже представлен мой views.py.

def Add_Menu(request, restaurantID):
    display=Menu.objects.get(id=restaurantID)
    form = MenuForm
    if request.method=="POST":
        form = MenuForm(request.POST, request.FILES)
        if form.is_valid():
            restaurant = form.save(commit=False)
            restaurant.restaurantID = Restaurant_Account.objects.get(restaurantID=restaurantID)
            restaurant.save()
            #form.save_m2m()
            messages.success(request, "Saved successfully!")
            return redirect('index')
        else:
            form=MenuForm()

    return render(request, 'restaurant/add_menu.html', {'form':form, 'display':display})
Вернуться на верх