pl:python:metawmodelach
Różnice
Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
pl:python:metawmodelach [2023/12/07 22:31] – [abstract] sindap | pl:python:metawmodelach [2023/12/08 09:06] (aktualna) – [abstract] sindap | ||
---|---|---|---|
Linia 34: | Linia 34: | ||
Przykłady pól, które mogą być umieszczane w modelu abstrakcyjnym: | Przykłady pól, które mogą być umieszczane w modelu abstrakcyjnym: | ||
- | 1. **created_at: | + | 1. **created_at: |
- | 2. **modified_at: | + | 2. **modified_at: |
- | 3. **created_by, | + | 3. **created_by, |
- | 4. **is_active: | + | 4. **is_active: |
- | 5. **description: | + | 5. **description: |
- | 6. **slug:** Unikalny identyfikator tekstowy, często używany w adresach URL. | + | 6. **slug:** Unikalny identyfikator tekstowy, często używany w adresach URL.\\ |
+ | |||
+ | Poniżej przykład takiego wpisu: | ||
+ | |||
+ | <code python> | ||
+ | from django.db import models | ||
+ | from django.utils import timezone | ||
+ | |||
+ | class BaseModel(models.Model): | ||
+ | created_at = models.DateTimeField(auto_now_add=True, | ||
+ | modified_at = models.DateTimeField(auto_now=True, | ||
+ | |||
+ | class Meta: | ||
+ | abstract = True | ||
+ | |||
+ | class YourModel1(BaseModel): | ||
+ | # Twoje pola dla modelu 1 | ||
+ | |||
+ | class YourModel2(BaseModel): | ||
+ | # Twoje pola dla modelu 2 | ||
+ | </ | ||
Ostateczny wybór pól zależy od konkretnego przypadku użycia i wymagań biznesowych. Modele abstrakcyjne są używane w celu uniknięcia powtarzalności kodu i ułatwienia zarządzania wspólnymi właściwościami między wieloma modelami. | Ostateczny wybór pól zależy od konkretnego przypadku użycia i wymagań biznesowych. Modele abstrakcyjne są używane w celu uniknięcia powtarzalności kodu i ułatwienia zarządzania wspólnymi właściwościami między wieloma modelami. |
pl/python/metawmodelach.1701984681.txt.gz · ostatnio zmienione: 2023/12/07 22:31 przez sindap