Таким образом, в основном у меня есть следующее в файле models.py
class Company (models.Model):
title = models.CharField(max_length=100)
short = models.CharField(max_length=50,default='NA')
class AccountingGroups(models.Model):
title = models.CharField(max_length=50, unique=True)
description= models.CharField(max_length=150,blank=True)
section = models.ForeignKey(Section, on_delete=models.PROTECT)
class Transaction (models.Model):
description = models.CharField(max_length=100)
date_created= models.DateField(auto_now_add=True)
posting_date = models.DateField()
user=models.ForeignKey(User, on_delete=models.PROTECT)
company = models.ForeignKey(Company, on_delete=models.PROTECT)
account_group = models.ForeignKey(AccountingGroups, on_delete=models.PROTECT)
income_amt = models.DecimalField(max_digits=6, decimal_places=2,default=0)
expenditure_amt = models.DecimalField(max_digits=6, decimal_places=2,default=0)
Теперь я отображаю форму транзакции в браузере, чтобы регистрировать все доходы и расходы конкретной компании. Ниже приведен файл forms.py.
class TransactionForm(ModelForm):
#posting_date = DateField(input_formats=['%d/%m/%Y'])
posting_date = DateField(widget=DatePickerInput(format='%d/%m/%Y').start_of('event active days'),
input_formats=('%d/%m/%Y',),
required=False)
class Meta:
model = Transaction
fields = ['description','posting_date','account_group','income_amt','expenditure_amt']
Теперь структура веб-сайта такова, что у каждой компании, которая есть в моей базе данных, есть отдельный URL. Когда я go для каждого URL, я могу просмотреть / изменить или создать новую / существующую транзакцию для этой конкретной компании. Теперь то, что я спрашиваю, могу ли я ограничить форму так, чтобы она отображала только учетные группы только для этой конкретной компании, а не отображала все учетные группы независимо от того, в какой компании я пытаюсь создать транзакцию.