Django-userel je aplikace Django prodloužit ForeignKey pro model uživatele. & Nbsp; Je přidávat auto_now a auto_now_add pro automatické nastavení aktuálního uživatele přístup.
Instalovat
sudo Pip nainstalovat Django-userel
nebo:
sudo Pip instalovat git + https: //github.com/lambdalisue/django-userel.git#egg=django-userel
Jak používat
1. připojit "userel" na INSTALLED_APPS
2. Přidat "userel.middlewares.UserelDefaultBackendMiddleware" do MIDDLEWARE_CLASSES pokud používáte výchozí userel backend
Příklad mini blog app
models.py:
od django.db modelů dovozních
od django.contrib.auth.models dovozu uživatele
od userel.fields import UserelField
třída Entry (models.Model):
& Nbsp; PUB_STATES = (
& Nbsp; ("veřejnost", "veřejný záznam"),
& Nbsp; ("chráněné", "vyžadováno přihlášení"),
& Nbsp; ("soukromé", "tajné vstup"),
& Nbsp;)
& nbsp; pub_state = models.CharField ("Stav publikování", volby = PUB_STATES)
& Nbsp; title = models.CharField ("title", MAX_LENGTH = 140)
& Nbsp; body = models.TextField ("body"),
created_by = UserelField ("vytvořený", related_name = "entries_create", auto_now_add = True)
updated_by = UserelField ("updated_by ', related_name =' entries_update ', auto_now = True)
Nastavení
USEREL_BACKEND
& Nbsp; Class nebo řetězec cesta backend. backend se používá k určení uživatele, když je objekt vytvořen / aktualizován.
Backend
Použití thread_locals výchozí backend storategy získat aktuální žádosti v signálu hovoru.
Chcete-li změnit strategii, nebo cokoliv, vytvořte si vlastní backend.
Backend je třída, která má metodu, get_user pro určení aktuálního uživatele.
UserelDefaultBackend
& Nbsp; výchozí backend. Tento backend vrátí None pokud není žádost shledána ani AnonymousUser vytvoření / aktualizace objektu.
UserelSystemUserBackend
& Nbsp; uživatel systému backend. Tento uživatel backend zpětného odběru, pokud žádný požadavek nalezen nebo AnonymousUser vytvoření / aktualizace objektu.
& Nbsp; uživatel systém je určen metodou get_system_user a ve výchozím nastavení je User.objects.get (pk = 1) Django-userel je Django aplikace prodloužit ForeignKey pro uživatele modelu
Požadavky na :
- Python
- Django
Komentáře nebyl nalezen