Le scénario;
Nous avons un formulaire avec des champs et à l'intérieur du formulaire il y a une combobox, elle se remplit avec des éléments.
Nous avons une location et chaque utilisateur a un TenantID donc lorsque l'utilisateur A1 (tenantid 1) appelle le formulaire de création, nous devons filtrer cette combobox pour ne filtrer que les éléments de l'utilisateur A1 en utilisant le filtrage de requête.
De même pour d'autres locataires.
Comment puis-je passer ce tenantid dynamique.
Au fait pour chaque utilisateur, le tenantid est stocké dans la classe abstraite django core USER - un nouveau champ tenantid a été ajouté. Tout conseil que je suis ouvert, merci pour votre attention.
État: Résolu !
Forms.py
class ItemForm(forms.ModelForm):
class Meta:
model = Items
fields = ('id', 'item', 'start', 'end')
widgets = {
'start': DateTimePickerInput(format='%Y-%m-%d %H:%M'),
'end': DateTimePickerInput(format='%Y-%m-%d %H:%M'),
}
def __init__(self, *args, **kwargs):
super(ItemForm, self).__init__(*args, **kwargs)
self.fields['item'].queryset = Items.objects.filter(tenantid=int(User.tenantid))
views.py
@login_required()
def create_item_record(request):
if request.method == 'POST':
form = ItemForm(request.POST)
if request.method == 'GET':
tenantidX = request.user.tenantid
form = ItemForm()
return save_item_form(request, form, 'items_create_partial.html')