From 5d6335fc94eb7dd8e5a3819a717379e5df126179 Mon Sep 17 00:00:00 2001 From: Sunny Sun <38218185+sunnyosun@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:34:50 +0100 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=8E=A8=20Clean=20up?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ourprojects/models.py | 14 +++++--------- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ourprojects/models.py b/ourprojects/models.py index aa384d3..477a893 100644 --- a/ourprojects/models.py +++ b/ourprojects/models.py @@ -3,7 +3,7 @@ from django.db import models from django.db.models import CASCADE, PROTECT from lnschema_core import ids -from lnschema_core.fields import BooleanField, CharField, ForeignKey +from lnschema_core.fields import BooleanField, CharField, ForeignKey, URLField from lnschema_core.models import ( Artifact, CanCurate, @@ -32,15 +32,11 @@ class Meta(Record.Meta, TracksRun.Meta, TracksUpdates.Meta): """Internal id, valid only in one DB instance.""" uid: str = CharField(unique=True, max_length=12, default=ids.base62_12) """Universal id, valid across DB instances.""" - name: str = CharField(max_length=255, default=None, db_index=True) + name: str = CharField(db_index=True) """Title or name of the Project.""" - abbr: str | None = CharField( - max_length=32, db_index=True, unique=True, null=True, default=None - ) + abbr: str | None = CharField(max_length=32, db_index=True, unique=True, null=True) """A unique abbreviation.""" - url: str | None = models.URLField( - max_length=255, null=True, default=None, blank=True - ) + url: str | None = URLField(max_length=255, null=True, default=None) """A URL to view.""" artifacts: Artifact = models.ManyToManyField( Artifact, through="ArtifactProject", related_name="Projects" @@ -52,7 +48,7 @@ class ArtifactProject(Record, LinkORM, TracksRun): id: int = models.BigAutoField(primary_key=True) artifact: Artifact = ForeignKey(Artifact, CASCADE, related_name="links_project") project: Project = ForeignKey(Project, PROTECT, related_name="links_artifact") - feature: Feature = ForeignKey( + feature: Feature | None = ForeignKey( Feature, PROTECT, null=True, diff --git a/pyproject.toml b/pyproject.toml index 16b3405..78397da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [{name = "Lamin Labs", email = "open-source@lamin.ai"}] readme = "README.md" dynamic = ["version", "description"] dependencies = [ - "lamindb" + "lamindb>=0.77.0" ] [project.urls] From c20f95a0d3c69b74daaa9f18e54b4e46712ded08 Mon Sep 17 00:00:00 2001 From: Sunny Sun <38218185+sunnyosun@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:41:39 +0100 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=8E=A8=20Fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ourprojects/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ourprojects/models.py b/ourprojects/models.py index 477a893..5ba375c 100644 --- a/ourprojects/models.py +++ b/ourprojects/models.py @@ -3,7 +3,7 @@ from django.db import models from django.db.models import CASCADE, PROTECT from lnschema_core import ids -from lnschema_core.fields import BooleanField, CharField, ForeignKey, URLField +from lnschema_core.fields import BooleanField, CharField, ForeignKey from lnschema_core.models import ( Artifact, CanCurate, @@ -36,7 +36,7 @@ class Meta(Record.Meta, TracksRun.Meta, TracksUpdates.Meta): """Title or name of the Project.""" abbr: str | None = CharField(max_length=32, db_index=True, unique=True, null=True) """A unique abbreviation.""" - url: str | None = URLField(max_length=255, null=True, default=None) + url: str | None = models.URLField(max_length=255, null=True, default=None) """A URL to view.""" artifacts: Artifact = models.ManyToManyField( Artifact, through="ArtifactProject", related_name="Projects" From fe34a42b0ffbd6c44ff45ea96eb3f903dd3b0027 Mon Sep 17 00:00:00 2001 From: Sunny Sun <38218185+sunnyosun@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:45:48 +0100 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=8E=A8=20Revert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ourprojects/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ourprojects/models.py b/ourprojects/models.py index 5ba375c..477a893 100644 --- a/ourprojects/models.py +++ b/ourprojects/models.py @@ -3,7 +3,7 @@ from django.db import models from django.db.models import CASCADE, PROTECT from lnschema_core import ids -from lnschema_core.fields import BooleanField, CharField, ForeignKey +from lnschema_core.fields import BooleanField, CharField, ForeignKey, URLField from lnschema_core.models import ( Artifact, CanCurate, @@ -36,7 +36,7 @@ class Meta(Record.Meta, TracksRun.Meta, TracksUpdates.Meta): """Title or name of the Project.""" abbr: str | None = CharField(max_length=32, db_index=True, unique=True, null=True) """A unique abbreviation.""" - url: str | None = models.URLField(max_length=255, null=True, default=None) + url: str | None = URLField(max_length=255, null=True, default=None) """A URL to view.""" artifacts: Artifact = models.ManyToManyField( Artifact, through="ArtifactProject", related_name="Projects" From c0e9494b20485ec346b203c777999a7890afd9c7 Mon Sep 17 00:00:00 2001 From: Sunny Sun <38218185+sunnyosun@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:49:05 +0100 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=92=9A=20Fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...002_alter_artifactproject_artifact_and_more.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ourprojects/migrations/0002_alter_artifactproject_artifact_and_more.py b/ourprojects/migrations/0002_alter_artifactproject_artifact_and_more.py index 122484e..4702e4d 100644 --- a/ourprojects/migrations/0002_alter_artifactproject_artifact_and_more.py +++ b/ourprojects/migrations/0002_alter_artifactproject_artifact_and_more.py @@ -1,19 +1,16 @@ -# Generated by Django 5.2 on 2024-11-15 08:55 +# Generated by Django 5.2 on 2024-11-21 10:48 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 +from django.db import migrations class Migration(migrations.Migration): dependencies = [ - ( - "lnschema_core", - "0069_alter_artifact__accessor_alter_artifact__hash_type_and_more", - ), + ("lnschema_core", "0069_squashed"), ("ourprojects", "0001_initial"), ] @@ -23,6 +20,7 @@ class Migration(migrations.Migration): name="artifact", field=lnschema_core.fields.ForeignKey( blank=True, + default=None, on_delete=django.db.models.deletion.CASCADE, related_name="links_project", to="lnschema_core.artifact", @@ -75,6 +73,7 @@ class Migration(migrations.Migration): name="project", field=lnschema_core.fields.ForeignKey( blank=True, + default=None, on_delete=django.db.models.deletion.PROTECT, related_name="links_artifact", to="ourprojects.project", @@ -157,6 +156,8 @@ class Migration(migrations.Migration): migrations.AlterField( model_name="project", name="url", - field=models.URLField(blank=True, default=None, max_length=255, null=True), + field=lnschema_core.fields.URLField( + blank=True, default=None, max_length=255, null=True + ), ), ]