Skip to content

Commit

Permalink
Add Person and Referene
Browse files Browse the repository at this point in the history
Signed-off-by: zethson <[email protected]>
  • Loading branch information
Zethson committed Nov 21, 2024
1 parent a6631e6 commit 70a7d8a
Show file tree
Hide file tree
Showing 4 changed files with 450 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,5 @@ docs/conf.py
_docs_tmp*
docs/test-ourprojects/
test-ourprojects/
test.ipynb
run-tests
2 changes: 1 addition & 1 deletion ourprojects/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ def __getattr__(name):
import lamindb

del __getattr__ # delete so that imports work out
from .models import Project
from .models import Project, Person, Reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,323 @@
# Generated by Django 5.1.3 on 2024-11-20 12:42

import django.core.validators
import django.db.models.deletion
import lnschema_core.fields
import lnschema_core.ids
import lnschema_core.models
import lnschema_core.users
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("lnschema_core", "0069_squashed"),
("ourprojects", "0002_alter_artifactproject_artifact_and_more"),
]

operations = [
migrations.CreateModel(
name="ArtifactReference",
fields=[
(
"created_at",
lnschema_core.fields.DateTimeField(
auto_now_add=True, db_index=True
),
),
("id", models.BigAutoField(primary_key=True, serialize=False)),
(
"label_ref_is_name",
lnschema_core.fields.BooleanField(
blank=True, default=None, null=True
),
),
(
"feature_ref_is_name",
lnschema_core.fields.BooleanField(
blank=True, default=None, null=True
),
),
(
"artifact",
lnschema_core.fields.ForeignKey(
blank=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="links_reference",
to="lnschema_core.artifact",
),
),
(
"created_by",
lnschema_core.fields.ForeignKey(
blank=True,
default=lnschema_core.users.current_user_id,
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="lnschema_core.user",
),
),
(
"feature",
lnschema_core.fields.ForeignKey(
blank=True,
default=None,
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="links_artifactreference",
to="lnschema_core.feature",
),
),
(
"run",
lnschema_core.fields.ForeignKey(
blank=True,
default=lnschema_core.models.current_run,
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="lnschema_core.run",
),
),
],
options={
"abstract": False,
},
bases=(lnschema_core.models.LinkORM, models.Model),
),
migrations.CreateModel(
name="Person",
fields=[
(
"created_at",
lnschema_core.fields.DateTimeField(
auto_now_add=True, db_index=True
),
),
(
"updated_at",
lnschema_core.fields.DateTimeField(auto_now=True, db_index=True),
),
("id", models.AutoField(primary_key=True, serialize=False)),
(
"uid",
lnschema_core.fields.CharField(
blank=True,
default=lnschema_core.ids.base62_12,
max_length=12,
unique=True,
),
),
(
"name",
lnschema_core.fields.CharField(
blank=True, db_index=True, default=None, max_length=255
),
),
(
"email",
lnschema_core.fields.EmailField(
blank=True, default=None, max_length=254, null=True
),
),
(
"internal",
lnschema_core.fields.BooleanField(
blank=True, default=False, null=True
),
),
(
"_previous_runs",
models.ManyToManyField(related_name="+", to="lnschema_core.run"),
),
(
"created_by",
lnschema_core.fields.ForeignKey(
blank=True,
default=lnschema_core.users.current_user_id,
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="lnschema_core.user",
),
),
(
"run",
lnschema_core.fields.ForeignKey(
blank=True,
default=lnschema_core.models.current_run,
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="lnschema_core.run",
),
),
],
options={
"abstract": False,
},
bases=(
lnschema_core.models.CanCurate,
models.Model,
lnschema_core.models.ValidateFields,
),
),
migrations.AddField(
model_name="project",
name="persons",
field=models.ManyToManyField(
related_name="project_persons", to="ourprojects.person"
),
),
migrations.CreateModel(
name="Reference",
fields=[
(
"created_at",
lnschema_core.fields.DateTimeField(
auto_now_add=True, db_index=True
),
),
(
"updated_at",
lnschema_core.fields.DateTimeField(auto_now=True, db_index=True),
),
("id", models.AutoField(primary_key=True, serialize=False)),
(
"uid",
lnschema_core.fields.CharField(
blank=True,
default=lnschema_core.ids.base62_12,
max_length=12,
unique=True,
),
),
(
"name",
lnschema_core.fields.CharField(
blank=True, db_index=True, default=None, max_length=255
),
),
(
"abbr",
lnschema_core.fields.CharField(
blank=True,
db_index=True,
default=None,
max_length=32,
null=True,
unique=True,
),
),
("url", lnschema_core.fields.URLField(blank=True, null=True)),
(
"pubmed_id",
lnschema_core.fields.BigIntegerField(blank=True, null=True),
),
(
"doi",
lnschema_core.fields.CharField(
blank=True,
db_index=True,
default=None,
max_length=255,
null=True,
validators=[
django.core.validators.RegexValidator(
message="Must be a DOI (e.g., 10.1000/xyz123 or https://doi.org/10.1000/xyz123)",
regex="^(?:https?://(?:dx\\.)?doi\\.org/|doi:|DOI:)?10\\.\\d+/.*$",
)
],
),
),
(
"preprint",
lnschema_core.fields.BooleanField(
blank=True, default=None, null=True
),
),
(
"journal",
lnschema_core.fields.TextField(blank=True, default=None, null=True),
),
(
"description",
lnschema_core.fields.TextField(blank=True, default=None, null=True),
),
(
"text",
lnschema_core.fields.TextField(blank=True, default=None, null=True),
),
(
"published_at",
lnschema_core.fields.DateTimeField(
blank=True, default=None, null=True
),
),
(
"_previous_runs",
models.ManyToManyField(related_name="+", to="lnschema_core.run"),
),
(
"artifacts",
models.ManyToManyField(
related_name="references",
through="ourprojects.ArtifactReference",
to="lnschema_core.artifact",
),
),
(
"created_by",
lnschema_core.fields.ForeignKey(
blank=True,
default=lnschema_core.users.current_user_id,
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="lnschema_core.user",
),
),
(
"persons",
models.ManyToManyField(
related_name="reference_persons", to="ourprojects.person"
),
),
(
"run",
lnschema_core.fields.ForeignKey(
blank=True,
default=lnschema_core.models.current_run,
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="+",
to="lnschema_core.run",
),
),
],
options={
"abstract": False,
},
bases=(
lnschema_core.models.CanCurate,
models.Model,
lnschema_core.models.ValidateFields,
),
),
migrations.AddField(
model_name="artifactreference",
name="reference",
field=lnschema_core.fields.ForeignKey(
blank=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="links_artifact",
to="ourprojects.reference",
),
),
migrations.AddField(
model_name="project",
name="references",
field=models.ManyToManyField(
related_name="project_references", to="ourprojects.reference"
),
),
]
Loading

0 comments on commit 70a7d8a

Please sign in to comment.