# [Pattern Name] Pattern v1.0.0

One-sentence description of what this pattern standardizes and which Django applications use it.

## 🐾 Red Panda Approval™

This pattern follows Red Panda Approval standards.

---

## Why a Pattern, Not a Shared [Implementation]

Explain the domain variability that makes a single shared model/function/utility impractical.

List concrete examples of how different domains need different behavior:

- A [domain A] app needs [field/behavior X]
- A [domain B] app needs [field/behavior Y]
- A [domain C] app needs [field/behavior Z]

Instead, this pattern defines:

- **Required [fields/interface]** — every implementation must have
- **Recommended [fields/behaviors]** — most apps should include
- **Extension guidelines** — for domain-specific needs
- **Standard choice values** — for interoperability

---

## Required [Fields / Interface]

The non-negotiable minimum every implementation must provide.

```python
# Required fields or function signature
```

---

## Standard Choice Values

Use these exact values for interoperability between apps.

### CHOICE_A

```python
CHOICE_A = [
    ("value-a", "Label A"),
    ("value-b", "Label B"),
]
```

### CHOICE_B

```python
CHOICE_B = [
    ("value-x", "Label X"),
    ("value-y", "Label Y"),
]
```

---

## Recommended [Fields / Behaviors]

Fields or behaviors that most apps should include but are not strictly required.

```python
# Recommended additions
```

---

## [Pattern Variant 1]

Description of the first common implementation approach.

```python
# Code example
```

---

## [Pattern Variant 2]

Description of the second common implementation approach.

```python
# Code example
```

---

## [Pattern Variant 3]

Description of a third approach (e.g., background task, management command, signal).

```python
# Code example
```

---

## Domain Extension Examples

### [Domain A] App

```python
# Domain-specific extension example
```

### [Domain B] App

```python
# Domain-specific extension example
```

---

## Anti-Patterns

- ❌ Don't [common mistake 1]
- ❌ Don't [common mistake 2]
- ❌ Don't [common mistake 3]

---

## Settings

Document any Django settings this pattern recognizes:

```python
# settings.py
SETTING_NAME = default_value   # Description of what it controls
```

---

## Testing

Standard test cases every implementation should cover.

```python
class My[Pattern]Test(TestCase):
    def test_[happy_path](self):
        """[Happy path scenario]."""
        pass

    def test_[edge_case](self):
        """[Edge case or negative test]."""
        pass
```
