Merhabalar forumda yeniyim.
Kendi çapımda bir şeyler yapmaya çalışıyorum ama bir yerde takıldım
django CustomUser olarak sube
diye forinkey ekledim.
class Sube(models.Model):
sube = models.CharField(max_length=40, verbose_name="Şube")
sube_olusturma_date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.sube
class CustomUser(AbstractUser):
# add additional fields in here
sube = models.ForeignKey(Sube, on_delete=models.CASCADE,verbose_name="Şubeler", related_name="CustomUsers")
def __init(self):
return self.username
bunu view.py
içinde request.user.sube
yazarak kullana biliyorum
ama forms.py
içinde nasıl kullanacam
class AracEKleForm(forms.ModelForm):
surucu1 = Surucu.objects.filter(
sube_id=None) | Surucu.objects.filter(durum=True,sube_id=2)
surucu = forms.ModelChoiceField(queryset=surucu1, required=False)
2 yazan yere request.user.sube yi nasıl tanımlaya bilirim
tam olarak yapmak istediğinizi yazabilir misiniz ?
Tabiki. Kısaca anlatayım firmamızda çalışan araçların kimin tarafından dışarı çıkıldığı giriş çıkışında gideceği yeri çıkarken ki km ve girişteki km sini tutmak ve aradaki farkı tabloya yazmak tabi farklı şubelerde var. Şimdi burda araç kayıt sırasında kayıt eden kullanıcıya sadece kendi şubesindeki sürücü ve plakaların görünmesini istiyorum sürücü ve plaka tablosunda şube id ekli aynı şekilde login olan kullanıcının da şube id belli ayni şekilde request.user.sube
ile login olan kullanıcının şubesine ulaşa biliyorum kayıt sayfası görünürken bu kiritere göre görünmesini istiyorum
anladım. kayıt eden kulllanıcıya diyorsan ilgili kaydı oluşturan user ı filtreleyeceksin
request.user sana text doner email adresi veya kullanıcı adı gibi
request.user.id ise o kullanıcının id sini döner.
bu nu alıp filtrende kullanırsan yapabilirsin.
django orm in de bu şekilde zaten bunun karşılıgı tsql where conditonudur.
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['templates'] = Master.objects.filter(created_by_id=self.request.user.id).order_by('id')
return context
1 Beğeni
kayıt eden kullanıcıyı formu kayıt ederken create_user gibi bir kolon da tabloda tutman gerekiyor
bir de kayıtları listeledigin view ı gönderebilirsen oraya da bakmak lazım.
sonuçta bunu view den göndereceksin.
Çok Teşekkürler view.py
gerekli eklemeyi yaptım.
Bu şekilde
form = AracEKleForm(request.POST or None, user=request.user.sube_id)
ve şuanda kaydetmeye başladım ve istediğim gibi oldu giren kullanıcının şube id sine göre plaka ve sürücüler geldi.
biraz abartıcam ama bir soru daha sormak istiyorum size forms ekleme esnasında sayfa da seçilen plakaya göre son o plakanın km getirmek istiyorum burada nasıl bir yol izlemem lazım.
plakayı forms.ModelChoiceField
ile seçtiriyorum burada seçilene göre nasıl alttaki bir kutuya veri yollaya bilirim
Son sorumu da farklı bir şekilde hallettim. ilk soru da yardımın için sağol
Kolay gelsin