ich versuche mich seit neuem mit dem Framework vertraut zu machen. Bin aber definitiv ein blutiger Anfänger.
Mein erstes Projekt ( reine Spielerei ) sieht für meine Verhältnisse schon recht passabel aus. Ich stecke aber gerade bei einem Thema fest, wobei mir auch die sonst gute Doku nicht weiterhilft, oder ich es nicht verstehe.
Ich habe zwei DB Tabellen die mit Foreign verknüpft sind.
Meine models.py
Code: Alles auswählen
class Aktien(models.Model):
wkn_int = models.CharField(max_length=20, default='')
wkn_nat = models.CharField(max_length=20, default='')
name = models.CharField(max_length=100, default='')
def __str__(self):
return f"{self.wkn_int} {self.wkn_nat} {self.name}"
class Values(models.Model):
datum = models.DateField()
wkn_int = models.ForeignKey(Aktien, on_delete=models.CASCADE )
order_type = (
('Dividende', 'Dividende'),
('Kauf', 'Kauf'),
('Verkauf', 'Verkauf')
)
order = models.CharField(max_length=9, choices=order_type, default="Dividende")
betrag = models.DecimalField(max_digits=8, decimal_places=2)
def __str__(self):
return self.wkn_int
Wenn ich dann die einzelne Aktie aufrufe, bekomme ich diese mit den ganzen Transaktionen angezeigt.
Das klappt prima und damit bin ich erst mal zufrieden.
In dieser Ansicht habe ich ein Formular, in dem ich neue Transaktionen eingeben möchte.
Meine forms.py
Code: Alles auswählen
class OrderForm(forms.ModelForm):
class Meta:
model = Values
fields = "__all__"
widgets = {
'datum':forms.DateInput(attrs={'type':'date'}),
}
# Create custom widget for input data in Date fields
class DateInput(forms.DateInput):
input_type = 'date'
Hier würde ich gerne das Feld mit der aktuell ausgewählten Aktie vorbelegen dass ich diese nicht immer auswählen muss. Mit "initial" habe ich es nicht hinbekommen. Wäre auch cool wenn ich das Feld mit dem richtigen Wert gar nicht mehr angezeigt bekomme.
Ich denke dass die Profis hier im Forum nur mit dem Kopf schütteln, aber wie gesagt sind es meine ersten Schritte.
Es wäre schön wenn ich hier den richtigen Tip bekomme wie ich so etwas bewerkstelligen kann.
Vielen Dank für eure Hilfe.
Gruß Mike