Django自动创建模型

2024-10-04 09:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的模型:

class Urunler(AnaModel):
    adi = models.CharField(max_length=128, verbose_name="Ürün Adı")
    aciklama = models.TextField(verbose_name="Açıklama")
    kategori = models.ForeignKey(Kategoriler, verbose_name="Kategori", related_name="urunler", null=True)
    agirlik = models.DecimalField(max_digits=6, decimal_places=2, verbose_name="Ağırlık", default=Decimal(1))
    birim = models.CharField(max_length=2, choices=BIRIMLER, default="kg")

class Stok(AnaModel):
    adi = models.ForeignKey(Urunler, related_name="stok", verbose_name="Ürün Adı")
    marka = models.CharField(max_length=256, verbose_name="Marka/Firma")
    stok_giris = models.DateTimeField(verbose_name="Stok Giriş Tarihi")
    uretim_tarihi = models.DateField(verbose_name="Üretim Tarihi", blank=True, null=True)
    sk_tarihi = models.DateField(verbose_name="Son Kullanma Tarihi", blank=True, null=True)
    irsaliye_no = models.PositiveIntegerField(max_length=32, verbose_name="İrsaliye No", blank=True)
    fatura_no = models.PositiveIntegerField(max_length=32, verbose_name="Fatura No", blank=True)
    adet = models.PositiveIntegerField(default=Decimal(1))
    aciklama = models.TextField(verbose_name="Açıklama", null=True)

class StokCikis(AnaModel):
    adi = models.ForeignKey(Urunler, related_name="stok_cikis", verbose_name="Ürün Adı")
    stok_cikis = models.DateTimeField(verbose_name="Stok Çıkış", blank=True, null=True, auto_now=True)
    teslim_alan = models.CharField(verbose_name="Teslim Alan", max_length=128, null=True, blank=True)
    aciklama = models.TextField(verbose_name="Açıklama", null=True, blank=True)
    adet = models.PositiveIntegerField(default=Decimal(0)

当产品在“Urunler”模型中创建时。“Stock”和“StockCikis”模型能自动生成吗?我想用默认值自动创建它。你知道吗


Tags: name模型truedefaultverbosemodelsnulllength
1条回答
网友
1楼 · 发布于 2024-10-04 09:23:12

您可以使用模型的保存方法:

class Urunler(AnaModel):
    ...
    def save(self, *args, **kwargs):
        super(Urunler, self).save(*args, **kwargs)
        newStok = Stok()
        ...
        newStok.save()
        newStokCikis = StokCikis()
        ...
        newStokCikis.save()

相关问题 更多 >