mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Create PartStocktake model
Model for representing stocktake entries against any given part
This commit is contained in:
parent
2082455c4e
commit
6d20a0ad23
27
InvenTree/part/migrations/0091_partstocktake.py
Normal file
27
InvenTree/part/migrations/0091_partstocktake.py
Normal file
@ -0,0 +1,27 @@
|
||||
# Generated by Django 3.2.16 on 2022-12-16 01:59
|
||||
|
||||
from django.conf import settings
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('part', '0090_auto_20221115_0816'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='PartStocktake',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('quantity', models.DecimalField(decimal_places=5, help_text='Total available stock at time of stocktake', max_digits=19, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Quantity')),
|
||||
('date', models.DateField(auto_now_add=True, help_text='Date stocktake was performed', verbose_name='Date')),
|
||||
('part', models.ForeignKey(help_text='Part for stocktake', on_delete=django.db.models.deletion.CASCADE, related_name='stocktakes', to='part.part', verbose_name='Part')),
|
||||
('user', models.ForeignKey(blank=True, help_text='User who performed this stocktake', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='part_stocktakes', to=settings.AUTH_USER_MODEL, verbose_name='User')),
|
||||
],
|
||||
),
|
||||
]
|
@ -2878,6 +2878,45 @@ class PartPricing(models.Model):
|
||||
)
|
||||
|
||||
|
||||
class PartStocktake(models.Model):
|
||||
"""Model representing a 'stocktake' entry for a particular Part.
|
||||
|
||||
A 'stocktake' is a representative count of available stock:
|
||||
- Performed on a given date
|
||||
- Records quantity of part in stock (across multiple stock items)
|
||||
- Records user information
|
||||
"""
|
||||
|
||||
part = models.ForeignKey(
|
||||
Part,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='stocktakes',
|
||||
verbose_name=_('Part'),
|
||||
help_text=_('Part for stocktake'),
|
||||
)
|
||||
|
||||
quantity = models.DecimalField(
|
||||
max_digits=19, decimal_places=5,
|
||||
validators=[MinValueValidator(0)],
|
||||
verbose_name=_('Quantity'),
|
||||
help_text=_('Total available stock at time of stocktake'),
|
||||
)
|
||||
|
||||
date = models.DateField(
|
||||
verbose_name=_('Date'),
|
||||
help_text=_('Date stocktake was performed'),
|
||||
auto_now_add=True
|
||||
)
|
||||
|
||||
user = models.ForeignKey(
|
||||
User, blank=True, null=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name='part_stocktakes',
|
||||
verbose_name=_('User'),
|
||||
help_text=_('User who performed this stocktake'),
|
||||
)
|
||||
|
||||
|
||||
class PartAttachment(InvenTreeAttachment):
|
||||
"""Model for storing file attachments against a Part object."""
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user